繁体   English   中英

Flask-SocketIO握手失败

[英]Flask-SocketIO handshake fails

我是Flask-SocketIO的新手,正在努力在Flask服务器和Javascript(React)客户端之间建立Socket IO连接。

无论如何,我无法建立连接并开始发出消息。 这就是日志所说的:

127.0.0.1 - - [20/Aug/2018 15:33:03] "GET /socket.io/?EIO=3&transport=polling&t=MLNKwf9 HTTP/1.1" 200 381 0.000659
127.0.0.1 - - [20/Aug/2018 15:33:03] "POST /socket.io/?EIO=3&transport=polling&t=MLNKwfK HTTP/1.1" 400 218 0.000203

这些日志消息每5秒重现一次。

这是我在后端的代码:

app = Flask(__name__, static_url_path=None)    
socket_io = SocketIO(app)

@socket_io.on('connect', namespace='/chat')
def test_connect():
    print('connected')

在客户端:

import SocketIOClient from 'socket.io-client';

在构造函数中,我这样做:

const uri = `http://${localhost}:5000/api/v1.0/chat`;
this.socket = SocketIOClient(uri);

我怎么了

任何帮助,将不胜感激!

万一有人遇到类似的问题,我可以自己解决。

问题是,由于我的客户端是React Native应用,因此我需要像这样修改客户端代码:

window.navigator.userAgent = 'ReactNative';

const io = require('socket.io-client/dist/socket.io');
const connectionConfig = {
  jsonp: false,
  reconnection: true,
  reconnectionDelay: 100,
  reconnectionAttempts: 100000,
  transports: ['websocket'], // you need to explicitly tell it to use websockets
};
const socket = io(path, connectionConfig);

该线程提供了答案: https : //gist.github.com/ekryski/59eb6ce5b2774fa24d15

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM