【发布时间】:2014-04-14 17:26:52
【问题描述】:
我有一个扭曲的 Web 套接字客户端协议,我在这个反应器循环中有另一个套接字服务器 如何从套接字服务器访问 sendMessage 方法? 我看到了这个link,但我不知道该怎么办。我试试这个,但我得到了一些错误:
reactor.callFromThread(WebSocketClientProtocol.sendMessage, protocol, 'data')
exceptions.TypeError: unbound method sendMessage() must be called with WebSocketClientProtocol instance as first argument (got module instance instead)
我的 websocket 客户端:
class WebSocketProtocol(WebSocketClientProtocol):
def sendHello(self):
self.sendMessage("something")
def onOpen(self):
self.sendHello()
def onMessage(self, msg, binary):
print msg
websocket_factory = WebSocketClientFactory("ws://localhost:1025/ws")
websocket_factory.protocol = WebSocketProtocol
connectWS(websocket_factory)
我通过这段代码解决了它:
class WebSocketProtocol(WebSocketClientProtocol):
def onOpen(self):
self.factory.data = []
self.factory.data.append(self)
reactor.callFromThread(WebSocketClientProtocol.sendMessage, websocket_factory.data[0], send)
【问题讨论】: