gpt4 book ai didi

sockets - Twisted reactor.listenTCP 间歇性无法正常连接

转载 作者:行者123 更新时间:2023-12-03 12:05:26 25 4
gpt4 key购买 nike

我正在使用 reactor.listenTCP 在 linux 上运行 TCP 服务器。

几个小时(或几天)一切正常,然后发生了一些事情,客户端可以连接,但它们立即被服务器断开连接。

我的协议(protocol)实现中没有任何命令断开连接。
客户端实现中没有任何东西会导致这种断开连接。

服务器使用 sendLine(data) 间歇性地向它在用户列表中找到的所有用户发送一些数据。

我想知道当我错过的客户端断开连接时我是否打算执行一些操作,这会导致套接字问题。

class MsgHandler(Protocol):
def __init__(self, factory):
self.factory = factory
def connectionMade(self):
self.factory.users.append(self)
def connectionLost(self, reason):
self.factory.users.remove(self)
def dataReceived(self, data):
pass

class outputTcpServerFactory(Factory):
def __init__(self, users):
self.users = users
def buildProtocol(self, addr):
return MsgHandler(self)

class Mainloop(object):
def __init__(self):
self.users = []
s = reactor.listenTCP(port, outputTcpServerFactory(self.users))
reactor.run()

---> mainLoop 类的其他地方是定期运行的代码:
for client in self.users:
client.sendLine(data)

最佳答案

您应该始终 enable logging这样您就可以看到应用程序遇到的未处理异常。这些通常可以清楚地说明为什么某些东西会损坏。

关于sockets - Twisted reactor.listenTCP 间歇性无法正常连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com