当我在我的电脑上运行我的代码并尝试使用我的index.html在localhost上连接套接字没有问题,但是当我尝试在服务器上运行我的代码并尝试使用index.html连接套接字时(它位于我的电脑上)我得到了:
Router <tornadio2.session.ConnectionInfo object at 0x7f7bfc5fac10>
INFO:tornado.access:200 GET /socket.io/1/
DEBUG:root:Initializing websocket handler.
WARNING:tornado.access:403 GET /socket.io/1/websocket/c0532cea9001408c50a9c854f4bce5d8
然后将protocal切换为xhr-polling但我想使用websocket。
INFO:tornado.access:200 GET /socket.io/1/xhr-polling/62f9b31662c984201685a830c764765e
DEBUG:root:Initializing xhr-polling transport.
DEBUG:root:>>> 1::/socket
DEBUG:root:<<< 1::/socket
DEBUG:root:<<< 3::/socket:connected!
我该怎么做才能解决这个问题?
答案 0 :(得分:19)
除非您覆盖check_origin以允许跨源访问,否则必须从与websocket相同的服务器加载html:http://www.tornadoweb.org/en/stable/websocket.html#tornado.websocket.WebSocketHandler.check_origin
答案 1 :(得分:-5)
解决了它。对于tornadio2用户,您必须这样做:
将此代码添加到persistent.py(它位于tornadio2中)
def check_origin(self, origin):
return True