为反应堆连接前的setsockopt。ConnectTcp
问题描述
我有一个小的Python客户端,它在create_套接字之后、但在连接之前需要一个setsockopt。非扭曲的Python代码如下所示。如何在扭曲的环境中表达这一点?
create_socket (socket.AF_INET, socket.SOCK_STREAM)
socket.setsockopt(socket.IPPROTO_IP, 24,1)
socket.bind((clientip, 0))
connect ((serverip,serverport))
解决方案
在twisted
中可以使用reactor.adoptStreamPort
:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.setsockopt(socket.IPPROTO_IP, 24,1)
s.bind((serverip, serverport))
s.listen(1)
port = reactor.adoptStreamPort(
s.fileno(), AF_INET, YourFactory())
如果您构建的是Listen套接字还是CONNECT套接字,我并不真正理解您的代码。我假设它是一个侦听套接字。 更多详细信息可在此处找到:http://twistedmatrix.com/documents/12.2.0/api/twisted.internet.interfaces.IReactorSocket.html
相关文章