如何在reactor.connectTCP之前调用setsockopt

时间:2014-06-18 08:31:38

标签: python sockets twisted

我想编写TCP客户端协议,但我想在运行ConnectTCP之前调用 setsockopt ,我该怎么办呢。

reactor.connectTCP(
 host=HOST,
 port=PORT,
 factory=TEST,
 timeout=30,
 bindAddress=(my_addr, 0))

我只知道我可以在setsockopt中使用Protcol

self.transport.getHandle().setsockopt()

This post有一些答案,但它适用于服务器端,我想要的是客户端代码

2 个答案:

答案 0 :(得分:0)

与链接问题中讨论的adoptStreamPort类似,有adoptStreamConnection

答案 1 :(得分:0)

connector = reactor.connectTCP(
            host=IP,
            port=PORT,
            factory=DemoFactory,
            timeout=30,
            bindAddress=(LOCAL_IP, 0))

connector.transport.getHandle().setsockopt(socket.IPPROTO_TCP, TCP_MD5SIG, md5sig)
reactor.run()

通过扭曲的源代码,我得到了这个解决方案,它的工作原理!!!!