问题标签 [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 投票
2 回答
7036 浏览

python - Flask-socketio,向另一个命名空间发出事件

我正在使用 Flask-socketio ( http://flask-socketio.readthedocs.org/en/latest/ )。

我目前正在获得

在 events.py 中使用它时。注意不同的命名空间:

使用 Flask-socketio 是否可以将事件发生在一个单独的命名空间中?文档似乎是这样建议的,但我无法弄清楚为什么我不断收到 KeyError。

编辑:感谢@Miguel 提出的答案,我再次尝试(离开项目很长时间后),但仍然收到以下错误:

当我运行应用程序时,我看到打印的“本地客户端已连接”。只有这样我才允许客户端访问 /photo 路由。我看到打印了“客户端已连接”,然后当然是密钥错误。

我已将 flask-socketio 升级到 0.4.2。

最好的

安德鲁

0 投票
1 回答
344 浏览

ios - 实现 django-socketio iOS 客户端

我想在 iOS 中使用 Django 制作一个聊天应用程序。我选择的服务器端套接字通信方法是django-socketio,因为它与 django 集成得很好。所以我的问题是选择一种在 iOS 上实现客户端的方法。所有 django-socketio 客户端示例都在 javascript 中,例如-

要在 JavaScript 中订阅频道客户端,请使用 socket.subscribe 方法:

我想知道如何在我的 iOS 客户端中实现这样的代码,例如如何从中实现“subscribe()”通道函数,以及如何实现从 iOS 到 django-socketio 服务器定义的各种其他事件的交互性喜欢:

@on_message,@on_subscribe等。

我目前正在尝试使用 NSStream 和 CFStream ,如此处所示但事实证明我很难将它转换为使其与 django-socketio 服务器通信的方式。

注意:对于所有看到最后一个“here”链接的人,是的,我确实先使用了twisted而不是django-socketio,但它没有任何明确定义的与 django 集成的具体方法(是的,我试着到处搜索它)。也许这将是我的下一个问题。

0 投票
0 回答
201 浏览

socket.io - Gevent-socketio 通配符命名空间

gevent 有什么方法可以启用通配符命名空间吗?也许像namespace/**wildcard**. 我试图查看 gevent 的文档:

因此,如果可以使用通配符命名空间,那么定义一长串 socketio.manage 会很方便,或者有什么方法可以在 gevent 中获取资源值:

0 投票
0 回答
359 浏览

python - gevent-socketio 从 python 方法发出或广播

我使用 gevent-socketio 库,需要发送消息post_save

我怎样才能做到这一点?

编辑:

有这个例子:

此示例在客户端连接或向服务器发送消息时进行侦听,但我需要将我的方法广播post_save到客户端..

0 投票
1 回答
3024 浏览

python-2.7 - 使用 Flask 和 Socket.IO 在 Python 中使用 REST 调用发送/广播消息

背景

这个项目的目的是为我在本地运行的程序创建一个基于 SMS 的终止开关。该计划是在本地程序和 Heroku 上托管的应用程序之间创建 Web 套接字连接。使用 Twilio,接收和 SMS 将触发对此应用程序的 POST 请求。如果它来自我的白名单上的号码,应用程序应该向本地程序发送命令以关闭。

问题

我可以做些什么来找到对命名空间的引用,以便我可以从 POST 请求向所有连接的客户端广播消息?

现在我只是创建一个新的 Web 套接字客户端,连接它并发送消息,因为我似乎无法弄清楚如何以一种可以调用发射或广播的方式访问命名空间对象。

服务器代码

我从这个项目chatzilla大量借用了代码,这无疑是非常不同的,因为我并没有真正使用浏览器。

也许 Socketio 对于 web 套接字来说是一个糟糕的选择,我应该使用 Tornado,但这看起来效果很好,而且这个设置帮助我轻松地将 REST 和 web 套接字部分分开

0 投票
1 回答
740 浏览

django - Django:如何为 manage.py 自定义 runserver_socketio 命令

我正在用 Django编写一个类似于这个包的实时聊天室。它使用命令运行一个单独的 WebSocket 服务器

但我不知道如何让runserver_socketio命令加载我的处理程序。我可以在包中找到的唯一相关代码位于django-socketio/django_socketio/management/commands/runserver_socketio.py

但是到底为什么这handler与我的代码有关?

0 投票
1 回答
1479 浏览

python - gevent-socketio 从线程发送消息

我想使用 gevent-socketio 从工作线程发送消息并更新所有连接的客户端的作业状态。

我试过这个:

它给了我这个错误:

如何从没有@socketio.on()装饰器的函数发送消息?我可以gevent直接使用发送消息socketio吗?

0 投票
2 回答
409 浏览

python - Cannot import name psyco_gevent

I have an import error with

it says:

I installed psycopg2 and psycogreen; and I followed this nice article about Django, Gevent, and Socket.io. This article also talks about it (it might be the source of the first article) and talks about a file named psyco_gevent.py on bitbucket which is not available anymore (404 error).

0 投票
0 回答
547 浏览

python - python gevent-socketio:来自远程网络的连接被拒绝

我正在尝试在 gevent-socketio 模块 gevent-socketiosimple_chat 示例中复制示例 simple_chat 。

在 chat.html 中,连接 io 设置为:

即,当我在自己的计算机上连接到自己的计算机时。

当我将此示例上传到网站并以这种方式指向我的计算机地址时,问题就出现了:

其中 11.22.33.44 是我电脑的地址(公共地址)。这样做会使 chat.html 无法正确显示,并且在 javascript 控制台中指出了这一点:

http://11.22.33.44:8080/socket.io/1/?t=1422551801251 net::ERR_CONNECTION_REFUSED

(文件 'chat.py' 在我的计算机中运行,与前一种情况一样)。当然,我在这里遗漏了一些重要的东西。有什么建议吗?

0 投票
1 回答
1069 浏览

python - 在 SocketIO 命名空间中使用烧瓶会话数据时出错

我正在尝试在用户的 id 命名空间上监听新的 socketIO 连接。用户 ID 存储在烧瓶会话对象中。

此代码产生以下错误:

如何让上述连接侦听器在请求上下文中运行?

谢谢!