【发布时间】:2017-07-24 07:42:04
【问题描述】:
我正在尝试使用 AutoBahn[twisted] 运行 Python WebSocket 服务器。
这是我服务器中的代码(Python):
*various imports*
class webSocket(WebSocketServerProtocol):
def onConnect(self, request):
print("some request connected {}".format(request))
def onMessage(self, payload, isBinary):
self.sendMessage("message received")
log.startLogging(sys.stdout)
root = File(".")
factory = WebSocketServerFactory(u"ws://0.0.0.0:8080")
factory.protocol = webSocket
resource = WebSocketResource(factory)
root.putChild(u"ws", resource)
site = Site(root)
reactor.listenTCP(8080, site)
reactor.run()
这是我客户端中的代码(Javascript):
window.webSocket = new WebSocket("ws://localhost:8080");
webSocket.onclose=function(event){
console.log(event)
setTimeout(connectToSocket, 1000);
}
但是,Javascript 将继续抛出以下错误(并尝试重新连接):
WebSocket connection to 'ws://localhost:8080/' failed: Error during WebSocket handshake: Unexpected response code: 200
【问题讨论】:
-
我有同样的问题,但仍然没有得到答案。同样在尝试连接服务器打印 IP、日期时间和浏览器版本客户端尝试连接。但是在 onConnect 和 onMessage 中没有出现 print('test')。
-
看起来 onConnect 没有执行所以无法执行我自己的握手代码
标签: javascript python-3.x websocket twisted autobahn