【发布时间】:2017-12-01 07:00:10
【问题描述】:
我正在使用 Twisted 编写代理服务器,但在检查与服务器的连接是否已关闭时遇到问题。
现在,我有
客户端 代理 服务器
使用 telnet 测试,代理成功地将消息从客户端传递到服务器,并将服务器响应传递回客户端。但是,我的问题是,如果客户端发出命令关闭代理和服务器之间的连接,客户端和代理之间的连接仍然存在。
这是我的一些代码
client_factory = protocol.ClientFactory()
client_factory.protocol = ClientTelnetProtocol
client_factory.proxy = self
try:
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('localhost', 1234))
clientsocket.close()
reactor.connectTCP('localhost', 1234, client_factory)
except Exception as err:
print(err)
self.transport.loseConnection()
排队
reactor.connectTCP('localhost', 1234, client_factory)
我希望能够监视连接的状态并查看服务器是否关闭它,可能在 dataReceived() 上,或者如果可能,在服务器关闭与代理的连接时设置中断,并让代理立即关闭与客户端的连接。
【问题讨论】:
标签: python twisted twisted.internet