的一个实例twisted.application.internet.TCPServer
代表一个TCP 服务器。您不能对其进行两次初始化并从中获取两台服务器。
我希望比您提供的更完整的代码片段如下所示:
from twisted.application import internet
class TwoServers(TCPServer):
def __init__(self):
internet.TCPServer.__init__(self,9000, WebSocketFactory(factory))
internet.TCPServer.__init__(self,80, server.Site(HandlerHTTP))
这行不通。这就像试图让一个int
是两个整数或一个list
是两个序列。相反,创建两个 TCPServer 实例:
from twisted.application import service, internet
from websocket import WebSocketFactory
factory = ...
HandleHTTP = ...
holdMyServers = service.MultiService()
internet.TCPServer(9000, WebSocketFactory(factory)).setServiceParent(holdMyServers)
internet.TCPServer(80, server.Site(HandlerHTTP).setServiceParent(holdMyServers)
...