- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在具有大约 10-20 个客户端的 RaspberryPi 上运行的小型 Flask 网络服务器上,我们会定期收到此错误:
Error on request:
Traceback (most recent call last):
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/werkzeug/serving.py", line 270, in run_wsgi
execute(self.server.app)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/werkzeug/serving.py", line 258, in execute
application_iter = app(environ, start_response)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/flask_socketio/__init__.py", line 43, in __call__
start_response)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/engineio/middleware.py", line 47, in __call__
return self.engineio_app.handle_request(environ, start_response)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/socketio/server.py", line 360, in handle_request
return self.eio.handle_request(environ, start_response)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/engineio/server.py", line 291, in handle_request
socket = self._get_socket(sid)
File "/home/pi/3D_printer_control/env/lib/python3.7/site-packages/engineio/server.py", line 427, in _get_socket
raise KeyError('Session is disconnected')
KeyError: 'Session is disconnected'
错误是从 python-socketio
内部自动生成的。此错误的真正含义是什么?我该如何防止或抑制它?
最佳答案
据我所知,这通常意味着服务器无法跟上向所有客户端提供数据的速度。
一些可能的缓解技术包括断开非事件客户端的连接、尽可能减少发送的数据量、以更大的 block 发送实时数据或升级服务器。如果您需要大量数据吞吐量,可能还有比 socketIO
更好的选择。
我已经能够通过在 socketIO
构造函数中设置非常高的 ping 速率和低超时来重现它:
from flask_socketio import SocketIO
socketio = SocketIO(engineio_logger=True, ping_timeout=5, ping_interval=5)
这意味着服务器必须向所有客户端发送大量消息,而他们没有很长时间做出响应。然后我打开大约 10 个客户端,我开始看到 KeyError
。
我们的服务器的进一步调试发现了一个正在发布大量实时数据的进程,该进程仅在少数客户端上运行良好,但一旦我达到大约一打,就会开始偶尔发出 KeyError
。
关于Python SocketIO KeyError : 'Session is disconnected' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69746102/
我正在选择一个 python 库来编写一个嵌入我网站的实时聊天功能页面。 我找到了两个基于 Socket.IO 的库,python-socketio 和 gevent-socketio: 来自 pyt
我正在使用 socketio 和 netty 以及 java,我对它们都是新手。 我的客户端代码如下所示。 webSocket test
我正在尝试在外部值发生变化时发送广播。 Camonitor 在值改变时调用回调,我想通知所有连接的客户端值已经改变,他们需要刷新。 from flask import Flask from epics
我在使用 flasks socketio 时遇到了问题,似乎当我调用 socketio.emit('my event', 'my message') 时它根本不会发出任何事件。 .. 所以这是我的设置
我有一个 socketio 服务器/客户端可以很好地协同工作,但是我想开始为服务器在页面加载或正常运行期间脱机时编写事件。 我在我的头文件中包含了远程 socket.io 代码: /socket.io
我正在使用 flask-socketio 和 python-socketio 开发一个项目。为了确保通信安全,系统需要使用 SSL 进行升级。我正在使用 Mac 和 Python 3.7。 我使用 o
我目前正在尝试了解套接字的工作原理。我正在使用 Flask-socketio 和 python socketio 客户端并运行一个基本示例。这是我到目前为止所做的 应用.py from flask i
我正在尝试使用 Socket.IO 开发一个聊天应用程序。我的服务器端是安装了 express + socket.io 库的 Node.js,我的客户端是 Android + Web。 我尝试在我的客
我正在构建一个 Android 聊天应用程序。我在服务器端使用 nodejs 并尝试实现 android client for socketIO.我收到 SocketIO 异常。代码有什么问题? 服务
我将 Flask 与 gevent-socketio 一起使用: $ cat requirements.txt Flask==0.10.1 Jinja2==2.7.1 MarkupSafe==0.18
我正在为某个项目使用 netty-socketio。我像这样设置了一个服务器: Configuration config = new Configuration(); config.setHostna
所以,我需要收集很多数据,比如每秒 3 个单位的数据,由很多人收集。我将收集此数据的事件命名为“捕获”。 我正在使用 JWT 对其他数据密集度较低的事件进行身份验证。 现在,我只是担心使用每个数据密集
socketio不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: git地址: https://github.com/fen
我正在使用 flask-socketio 创建一个聊天应用程序,现在我想在客户端断开连接时使用客户端的用户名向服务器发送一条消息,即当客户端关闭浏览器/选项卡时,以便我可以将该消息从服务器发送到所有现
我正在尝试向从单独文件连接的所有套接字发出。但是我似乎无法弄清楚。 Socket.js var socketio = require('socket.io'); var users = require
我尝试在我的 django 应用程序中实现与 django-socketio 的聊天。 首先要了解django-socketio,所以看了https://github.com/stephenmcd/d
我对网络编程有点陌生。我现在正在尝试编写一个服务器。在服务器端我有一个方法: socket.on("joinserver", function(name, device) { }); 在客户端,
我正在尝试将数据从客户端发送到服务器端。我只得到未定义。我希望用户单击 ledOn 函数来发送 1 ,并单击 ledOff 来发送 0 到服务器。 server.js io.sockets.on('c
我使用nodejs设置了一个简单的Socket服务器gameIo gameIo.on("connection", socket => { socket.on("sign up", () => {
我想知道是否有一种方法可以在两个(或多个)flask-socketio 服务器之间直接通信。我想在服务器之间传递信息,并让客户端连接单个 Web 套接字服务器,该服务器将具有来自其他服务器的所有组合逻
我是一名优秀的程序员,十分优秀!