首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flask-SocketIO握手失败

Flask-SocketIO握手失败
EN

Stack Overflow用户
提问于 2018-08-20 20:49:41
回答 1查看 722关注 0票数 0

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

无论如何,我无法建立连接并开始发送消息。日志是这样写的:

代码语言:javascript
复制
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秒重复一次。

下面是我在后端的代码:

代码语言:javascript
复制
app = Flask(__name__, static_url_path=None)    
socket_io = SocketIO(app)

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

在客户端:

代码语言:javascript
复制
import SocketIOClient from 'socket.io-client';

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

代码语言:javascript
复制
const uri = `http://${localhost}:5000/api/v1.0/chat`;
this.socket = SocketIOClient(uri);

我做错了什么?

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-21 17:47:58

如果有人遇到类似的问题,我能够自己解决这个问题。

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

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51931143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档