问题标签 [gevent-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 投票
0 回答
164 浏览

django - 用于 Django + ExtJS 的 Websocket/SocketIO

我在基于 ExtJS 的应用程序中有多个商店,我希望从服务器(Websockets/SocketIO)进行更新。后端是 Django。Django 中用于 Websockets 的唯一生产就绪解决方案似乎是 gevent-socketio。

我探索了 Ext.ux.data.proxy.WebSocket 但我不确定如何使它与基于 gevent-socketio 的 Django 后端一起工作。任何人都可以建议在 Django 中使用这个或任何其他 websockets 插件的方法吗?谢谢。

0 投票
1 回答
1467 浏览

pandas - flask-socketio 每个用户一个房间?昂贵的?

我有一个运行 pandas 的烧瓶 webapp 来在后端进行一些数据分析。

现在,我采取了一种天真的方法,即使用 AJAX 让用户将查询发送回服务器并与数据进行交互。但事实证明,每个请求都有很多开销,每次我需要将数据重新加载到熊猫/内存中,这是非常重复的。

我在想 socketio 在这里可能很有用 - 我会打开一个套接字连接,这样一旦文件加载到 pandas 中,用户就可以通过套接字以更少的开销更响应地交互和查询数据。

所以我现在的问题是:

  • 我应该为每个用户打开一个房间,因为用户不需要相互交互吗?
  • 这是否按比例为每个用户开放一个房间?
  • 命名空间在哪里适合?我是否将命名空间分配给网站的不同部分,并在每个命名空间下为每个用户进一步打开房间?
  • 或者我应该产生一个猴子补丁线程吗?每个用户的 Greenlet ?
0 投票
1 回答
280 浏览

python - 如何从非 SocketIO 请求向所有连接的 SocketiO 客户端广播?

我正在运行 SocketIO 服务器,例如:

然后我有一个命名空间:

最后,我有一条路线,例如:

所以,上面评论的部分是我有问题的地方。

到目前为止我所做的:

  • 深入研究 gevent-socketio 代码,发现套接字在那里被跟踪。但我不确定下一步会是什么。
  • 注意到,在 Flask 中,request.environ有一个socketio对应于对象的值。但是,这仅适用于 SocketIO 请求。

任何线索或提示将不胜感激。

0 投票
1 回答
251 浏览

turbogears2 - 带有 gevent-socketio 的 Turbogears:请求密钥错误

我尝试在我的 TurboGears 2 网站上使用 gevent.socketio:

在我使用的ini文件中

当我尝试访问 Webbrowser 中的控制器时:

我收到以下错误:

我使用了几个关于金字塔的教程来向我介绍 gevent-socketio。我用 TurboGears2、gevent 和 gevent-socketio 的旧版本进行了尝试,我也尝试了这个模块,但总是出现同样的错误。我对套接字很陌生,所以也许我只是遗漏了一些明显的东西

0 投票
0 回答
1302 浏览

python - 如何让两个 python 脚本相互通信

我有一个 gevent-socketio 服务器程序(类似于simple-chat-example)正在运行。在同一台机器上还有第二个 python 脚本,它可以进行运动检测,也可以无休止地运行。我想让他们互相交谈,在某些情况下,gevent-socketio 服务器会在收到来自运动检测的消息时为他的客户端触发事件。

这台机器是 RasperryPi,运行 Raspian Linux,我使用的是 python 2.7(也可以使用 v3)。

  1. 我将如何连接这两个脚本,以便它们可以相互发送消息?
  2. 这个 SO Question的答案是要走的路吗?
  3. 这个 zmq 是否适用于多个程序,还是仅适用于单个程序中的多个线程?
  4. 一般来说,当两个脚本在同一台机器上运行时(考虑到 gevent 已经在两个程序中使用的事实),什么是“最佳”解决方案?
0 投票
1 回答
500 浏览

python-2.7 - 使用烧瓶、nginx 和 gunicorn 设置 gevent-socket

以下是我的python代码

以下是nginx配置服务器{

每次运行应用程序时,我都会使用以下命令
gunicorn main2:app -b localhost:5000

我知道我缺少很多信息来在实时服务器上运行这个 gevent-socketio 应用程序。谁能帮帮我,我对这种网络套接字技术完全陌生

0 投票
1 回答
5215 浏览

python - Flask-SocketIO 在 Apache/WSGI 上不起作用

我使用了来自http://blog.miguelgrinberg.com/post/easy-websockets-with-flask-and-gevent/page/4的以下示例代码,当我使用测试服务器运行它时它工作正常,例如python myapp.py我可以连接到它并发送消息

问题是当我将相同的代码移动到使用 Apache 为 Flask 提供服务的服务器时,我得到了错误。

Apache 主机的配置文件是:

是否可以运行 SocketIO/Flask 并通过 Apache 运行?

0 投票
0 回答
351 浏览

python - socket.io 从 0.9.6 升级到 1.3.5 发送错误请求

我在 gevent-socketio 上有一个小型沙箱服务器。

后端是

前端(带有socket.io 0.9.6)是

在浏览器控制台中,我看到连接正常。服务器也很好:

但!

当我尝试socket.io像这样升级时:

我开始收到客户端错误

和服务器错误:

所以不知何故,我的珍贵socketio钥匙不见了request.environ,我不知道如何找回它。如何解决这个问题?

0 投票
1 回答
100 浏览

python - gevent-socketio 如何从服务器发起消息

这是我的代码:

我可以愉快地从前端发送套接字消息,它们得到处理,我收到on_some_event方法的回复。

问题是,如果我自己先发送一条消息,我只能收到一条消息。

但是我怎样才能在不成为第一个说话的人的情况下开始接收消息呢?

例如,如果有人向/dosomething/端点发送 POST,它如何触发emit我的客户端 websocket?

--

我可以做到这一点,flask-socketio但它对我的口味来说太神奇了。是否有较低级别的实现?

0 投票
0 回答
161 浏览

python - flask-socketio 没有看到被覆盖的资源

这是一个简单的 flask-socketio 服务器:

它像这样连接:

所以当我打开页面时,我在浏览器控制台中看到:

但是当我在前端更改资源时:

在后端:

我只看到这个

所以什么都不会发出。此外,后端不调用print('connected').

资源覆盖有什么问题?