问题标签 [flask-socketio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2767 浏览

ios - 在将用户连接到服务器之前,如何等待 Socket.IO 建立套接字连接?

我正在运行 SocketIO-Client-Swift 以打开 WebSockets 并与服务器通信。但是我遇到的问题是我想连接到套接字,然后通过发射连接到服务器。

这些指向这里的功能:

即使在注册句柄之后,在套接字正确连接之前也会调用发射。建立连接后连接工作正常,因为我可以在我的日志显示连接后正确发送消息并获得反馈。

0 投票
1 回答
3674 浏览

python-2.7 - 如何使用 Flask-SocketIO 修复此 KeyError 错误?

当我四处搜索时,这似乎是一个常见问题,但我似乎找不到可行的解决方案。据我所知,该错误不是很有帮助,因为它并没有真正告诉您为什么保存的会话消失了。

0 投票
1 回答
3408 浏览

python - 如何对 Flask websocket 服务器进行单元测试(Flask-SocketIO)

我想知道如何在我的烧瓶 websocket 服务器上进行单元测试。我的应用程序在 REST API(Flask-restful)和 Web Socket(Flask-SocketIO)上支持相当多的接口。所有的 websocket “emit” 都在 celery 进程中进行。我在对那些 websocket 逻辑进行单元测试时遇到问题。

  1. 几个人说,首先我得把这个rest-api + websocket应用分开。在单个服务器上运行整个应用程序(逻辑上)是否很奇怪?

  2. 如何对 websocket 代码进行单元测试?

谢谢

0 投票
1 回答
1105 浏览

java - python flask-socketio TypeError:需要一个类似字节的对象,而不是'str'

我开始使用 Socketio,但遇到了问题。我无法向我的烧瓶会话发送简单的消息。我的Java代码:

我的 Python 代码:

错误:

我希望有人能够帮助我解决这个问题。我到处搜索,我找不到我的答案。

0 投票
1 回答
126 浏览

socket.io - 套接字 io 代码令人困惑

这是在 socket_io python 服务器的 base_manager.py 中——>这段代码有什么意义?我想发出一条消息。如果没有房间,这怎么可能奏效?如果命名空间不在 self.rooms--> 没有空间所以它总是会返回给调用者对吗?:

0 投票
1 回答
4215 浏览

javascript - 烧瓶 socketio 400(错误请求)

我正在尝试使用flask socketio 来检索一些实时推文,目前我正在使用socketio 来查看它是如何工作的。但在我的测试中,我不时收到 400(错误请求)。我想知道是什么问题。

这是错误示例:

socket.io.js:3511 POST http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=LOMYW0D&sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)Request.create @ socket.io.js:3511Request @ socket.io.js:3424XHR.request @ socket.io.js:3352XHR.doWrite @ socket.io.js:3365(anonymous function) @ socket.io.js:3884(anonymous function) @ socket.io.js:4747proxy @ socket.io.js:1197(anonymous function) @ socket.io.js:4762(anonymous function) @ socket.io.js:4742exports.encodePacket @ socket.io.js:4541encodeOne @ socket.io.js:4741eachWithIndex @ socket.io.js:4760map @ socket.io.js:4767exports.encodePayload @ socket.io.js:4746Polling.write @ socket.io.js:3883Transport.send @ socket.io.js:2912Socket.flush @ socket.io.js:2623Socket.sendPacket @ socket.io.js:2683Socket.ping @ socket.io.js:2587(anonymous function) @ socket.io.js:2574 socket.io.js:3511 GET http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=LOMYPYb&sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)Request.create @ socket.io.js:3511Request @ socket.io.js:3424XHR.request @ socket.io.js:3352XHR.doPoll @ socket.io.js:3382Polling.poll @ socket.io.js:3795Polling.onData @ socket.io.js:3834(anonymous function) @ socket.io.js:3385Emitter.emit @ socket.io.js:4389Request.onData @ socket.io.js:3546Request.onLoad @ socket.io.js:3627xhr.onreadystatechange @ socket.io.js:3499 socket.io.js:3511 POST http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=LOMYeOF&sid=c81baa220764437184a14366357c6d3d 400 (BAD REQUEST)

我的服务器端代码(python烧瓶):

我的客户端代码:

这些是我启动 index.html 页面时的初始输出:

但是过了大概 30 秒左右,它开始出现之前的 400 bad request 错误,然后是以下结果:

然后在 30 秒后,它会再次执行错误的请求和结果。我在哪里做错了?任何帮助将不胜感激。

对于客户端,我使用的是 socketio js 1.4.5

对于python:Flask-SocketIO==2.5 python-engineio==0.9.2

0 投票
0 回答
611 浏览

flask - 使用套接字 io 接收重复消息

我是 socket io 的新手,我很困惑,因为我从服务器收到重复的消息。我在服务器端使用flask-socketio。

这是服务器端代码:

stream_1.filter(track=search_list_1)将在类中调用该on_data函数。StdOutListener1

我的客户端代码是:

socket.on("streamTweets1", function(data){ console.log(data) });

每次刷新客户端页面后,我都会得到重复的结果。

另外,我不确定如何停止或断开连接。我尝试使用 control + c 来停止服务器,但它似乎会继续运行。如何正确停止服务器并断开连接?

0 投票
0 回答
555 浏览

python - 如何防止 pyudev MonitorObserver 用 eventlet 阻塞主线程?

**更新

我有以下内容,根据 pyudev readthedocs 网站上的示例,它应该是守护进程线程的。然而,即使将它与线程耦合,它在使用 eventlet 的猴子补丁时也会阻塞。

运行这个:

我正在为 Flask-SocketIO 使用 eventlet 的猴子补丁,这导致 useless_thread1() 停止触发。如果我注释掉猴子补丁调用,一切都会按预期工作。

0 投票
1 回答
1763 浏览

python - 如何在 Flask-SocketIO 中向测试客户端推送通知?

我正在尝试作为客户端接收来自服务器的推送;使用我的测试客户端如下:

客户:

服务器:

服务器应该正在推送和调用hit_client通道,但这并没有被触发。但是,socket_client.get_received()有发出的数据。我认为 WebSockets 的全部意义在于双向通信(即推送函数触发器)!

这是一个非常简单的设置,它甚至似乎都不起作用......任何帮助都将不胜感激。几个小时以来我一直在摇头。

0 投票
1 回答
995 浏览

python - Flask-SocketIO 的发射函数线程安全吗?

我有一个 Flask-SocketIO 应用程序。我可以安全地socketio.emit()从不同的线程调用吗?socketio.emit()原子像正常吗socket.send()