gpt4 book ai didi

python - "Unhandled Error"当 TCP 服务器尝试接受来自客户端的连接时出现扭曲

转载 作者:太空宇宙 更新时间:2023-11-04 01:26:38 24 4
gpt4 key购买 nike

from twisted.internet.protocol import Factory,Protocol
from twisted.internet import reactor

class ChatServer(Protocol):
def connectionMade(self):
print("A Client Has Connected")

factory = Factory()
reactor.listenTCP(80,factory)
print("Chat Server Started")

reactor.run()

上面的代码运行成功。但是当我尝试打开 TCP(telnet localhost 80) 时。

发生错误:

Unhandled Error
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\twisted\python\log.py", line 69, in callWithContext
return context.call({ILogContext: newCtx}, func, *args, **kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "C:\Python27\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
return func(*args,**kw)
File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 150, in _doReadOrWrite
why = getattr(selectable, method)()
--- <exception caught here> ---
File "C:\Python27\lib\site-packages\twisted\internet\tcp.py", line 718, in doRead
protocol = self.factory.buildProtocol(self._buildAddr(addr))
File "C:\Python27\lib\site-packages\twisted\internet\protocol.py", line 104, in buildProtocol
p = self.protocol()
exceptions.TypeError: 'NoneType' object is not callable

如果有人知道解决方案,请帮助我。我只是 twisted 的新手。

最佳答案

class ChatServer(Protocol):
def connectionMade(self):
print("A Client Has Connected")

factory = Factory()
reactor.listenTCP(80,factory)

在此代码中,您尚未在 factoryChatServer 之间建立任何关联。尝试插入这一行:

factory.protocol = ChatServer

在即将推出(尚未发布)的 Twisted 版本中,Factory 正在使用一个新的类方法来简化此设置。使用那个版本,这个例子会更短:

class ChatServer(Protocol):
def connectionMade(self):
print("A Client Has Connected")

reactor.listenTCP(80, Factory.forProtocol(ChatServer))

关于python - "Unhandled Error"当 TCP 服务器尝试接受来自客户端的连接时出现扭曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371792/

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