【问题标题】:AutoBahn / Twisted "Unexpected response code 200"AutoBahn / Twisted“意外响应代码 200”
【发布时间】: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


【解决方案1】:

您将WebSocketResource 安装在/ws。尝试更改您的客户以反映这一点:

window.webSocket = new WebSocket("ws://localhost:8080/ws");
...

【讨论】:

    猜你喜欢
    • 2018-05-16
    • 2014-09-21
    • 2019-12-25
    • 2019-01-21
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多