问题标签 [python-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 回答
475 浏览

python-socketio - socketIO-client-nexus 0.7.6 - StopIteration 错误

当我运行上面的代码时,我得到了下面的堆栈跟踪。

在此处输入图像描述

这是一个众所周知的问题。遇到这个问题的人说,这是因为他们尝试连接的套接字服务器是在 socketio 2.x 上构建的。然而,据报道, socketIO-client-nexus 0.7.6似乎解决了他们的问题。但是,我仍然面临同样的问题。不知道怎么了。我尝试连接的服务器是在socketio 2.0.1上构建的

0 投票
1 回答
700 浏览

python - 是否可以连接到 https URL?

我有一个使用 http 运行良好的简单代码(不安全),但随后我将其更新为 https 出现错误ssl.SSLCertVerificationError

我正在使用具有有效 ssl 的 heroku 服务器,当然,mac 上的 python 3.7.3,ssl.OPENSSL_VERSION= 1.1.0,certifi=2019.3.9,Flask=1.0.2,Flask-SocketIO=3.3.2

这是代码:

这就是我使用 https 得到的:

有任何想法吗 ?

0 投票
1 回答
2006 浏览

python - 如何使用 python-socketio 从客户端访问我的套接字 ID?

我开始使用python-socketio连接socketIO nodejs服务器而不是javascript,我遇到了套接字 id 的问题:

..我找不到socket.id来自客户相同的任何文件javascript。在javascript连接成功后,我可以访问 socket.id,如下所示:

0 投票
1 回答
1723 浏览

python - 带有 eventlet 的 Python-socketio 使用轮询而不是 websockets

问题

使用带有 Python 3.7 的 eventlet 0.25.0 和 python-socketio 4.0.3,我试图让两个 Python 脚本与 websocket 通信。服务器脚本运行良好:

而且,我可以从浏览器轻松地与 JS 建立 websocket 连接:

但!如果我尝试使用另一个 Python 脚本创建 websocket 连接,它只是使用轮询并且无法建立 websocket:

日志:

0 投票
1 回答
302 浏览

python - 如何同时运行多个 eventlet 服务器?

我正在尝试设置两个在不同端口上同时侦听的 eventlet 服务器。

下面代码中的第一个服务器用于 SocketIO 实现,第二个用于外部连接。两者分别发挥作用,但不能同时发挥作用。

0 投票
0 回答
300 浏览

python - 如何捕获 websocket 502 异常

我正在使用Python Socket.IO 服务器和客户端以及用于 python 的 websocket 客户端来创建从我的 Raspberry Pi 到我在 AWS 上的服务器的隧道。

除了服务器因错误而断开连接外,我的隧道运行良好。发生这种情况时,这是我在 Raspberry Pi 上遇到的异常。

我想捕捉 thsocket2is 异常并在它发生时执行一些操作,但到目前为止我未能捕捉到它。

我尝试了以下方法,但没有成功:

  • 在 websocket.WebSocketApp() 上添加 on_error 和 on_close 方法
  • 用 try-catch 包围 websocket.WebSocketApp.run_forever()
  • 用 try-catch 包围 socketio.Client.connect()
  • 检查 socketio.Client.connect() 返回值

我的例外:

0 投票
1 回答
322 浏览

python - 是否有可能: 获取 cookie ?检索没有事件名称的响应?python-socketio(客户端)

我使用 python socket.io 客户端,我想知道是否可以检索会话 cookie,如果可以,如何?

另一个问题,是否有可能在不经过 or 的情况下从 .emit 获得@sio.event答案@sio.on()与 websockets 库一样:

如果不是,是否可以创建一个事件/on 从服务器检索不包含事件名称的消息?

例如,我从客户端发送:sio.emit("GetNbrPlayers")但是服务器[{"data": "5"}]在数据之前没有事件就回答我(它也是一个使用 socket.io 的服务器/api),我想收到这个消息,但是有一个事件/on 是不可能的,因为有答案中没有事件名称。

先感谢您!

0 投票
1 回答
2052 浏览

python - 如何在 python 中捕获 socket.io 异常

我正在做一个类项目,我们正在尝试捕获 socket.io 异常。具体来说,socketio.exceptions.ConnectionError: Connection denied by server 我们这样做的目的是在没有建立连接的情况下继续尝试连接。

我们尝试查看https://python-socketio.readthedocs.io/en/latest/上的文档,但找不到任何东西。同样,如果尚未建立连接,我们将尝试连接到服务器。我们正在查看 socket.reconnect() ,但这似乎只有在建立连接后才有效。我们正在尝试在树莓派 3 上实现这一点。我们编写了一个脚本来在启动时执行我们的客户端代码,但在脚本执行后与 pi 建立了以太网连接。

0 投票
2 回答
1947 浏览

python - 无法让多个 uwsgi 工作人员使用 flask-socketio

在开发中,带有 uwsgi 的 flask-socketio (4.1.0) 只需 1 个工作人员和标准初始化就可以很好地工作。

现在我正在为生产做准备,并想让它与多个工人一起工作。

我做了以下事情:

在 init_app 中添加了 redis message_queue:

(旁注:我们也在应用程序本身中使用 redis)

在我们使用 uwsgi 运行的文件顶部进行 gevent 猴子补丁

运行 uwsgi:

这似乎不起作用。连接开始在连接和 400 错误请求响应之间快速交替。我怀疑这些对应于我在启用 SocketIO 日志记录时看到的“无效会话 ....”错误。

最初它根本没有使用redis,

即使工人= 1,也会导致空结果。

似乎以下内容(取自另一个 SO 答案)修复了:

这样做之后,我得到了一个更新数据的“flask-socketio”pubsub 频道。

但是在返回多个工人后,问题又回来了。鉴于更改 redis 套接字似乎确实使事情朝着正确的方向发展,我觉得猴子补丁还不能正常工作,但我使用的代码似乎与我能找到的所有示例相匹配,并且位于文件的最顶部由 uwsgi 加载。

0 投票
1 回答
544 浏览

python-2.7 - 如何使用 Python 2.7 解决 Socket.IO Django 框架中的 CORS 错误

我们分别使用 AngularJS 和 Django 前端和后端。我们面临 CORS 错误,因为我们在 installed_app 中添加了 corsheaders 并且还添加了中间件,但我们仍然面临同样的问题

我们正在使用 AngularJS v1.6.3、Django 1.10.11 和 Python 2.7。

角度控制器:

在 django settings.py 中

CORS_ORIGIN_ALLOW_ALL=True

预期的结果是成功完成 Socket.IO CORS 请求,但我们收到以下错误:

从源“ http://192.168.13.148:8082 ”访问“ http://192.168.13.129:8000/socket.io/?EIO=3&transport=polling&t=MncX14t ”处的 XMLHttpRequest已被 CORS 策略阻止:否“ Access-Control-Allow-Origin' 标头出现在请求的资源上。