问题标签 [flask-sockets]

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 回答
1409 浏览

python - 将 Flask 应用程序连接到 Websocket 服务器

无法将 Flask 应用程序作为 websocket 客户端连接到另一个 websocket 服务器。

我试图环顾如何实现这一点,但我发现的唯一解决方案是连接是短暂的一次性发送接收。

因此,当我建立长期连接时,Flask 应用程序不再运行。我猜这个问题,是因为他们都在“永远”运行。

因此,如果先运行以下代码,flask 应用程序将不会运行,如果我执行相反的操作,则不会建立 websocket 连接。

一个示例 Flask 应用程序:

0 投票
0 回答
150 浏览

sockets - 我正在尝试创建简单的 flask_sockets 客户端服务器,但得到 404

我正在尝试在两个 python 文件之间建立套接字连接以进行测试。我的服务器应该将一些数据上传到正在监听的客户端。我试图通过创建一些虚拟客户端来测试它。客户端连接后,我得到

不幸的是,我在网上找不到针对此错误的任何解决方案

我希望客户端从服务器接收 hello world 消息

0 投票
0 回答
421 浏览

python - Gcp pub/sub 将消息消费到 websockets 路由中

在我收到带有数据的帖子后,我认为我将其发送到 gcp pub/sub 主题。我有 websockets 我想读取之前发送的数据:

它从 generics.ListAPIView 获取数据

这是消费者代码:

我已经尝试过 websockets 和 producer\consumer ,它们都是独立工作的。我怎样才能让他们成为朋友,并在 ws.send 调用中使用 consume() 或从它返回的数据?

0 投票
0 回答
1580 浏览

python - 客户端不见了,在flask-socketio中关闭套接字

我目前正在尝试了解套接字是如何工作的。我正在使用 Flask-socketio 和 python socketio 客户端并运行一个基本示例。这是我到目前为止所做的

使用模块

服务器.py

客户端.js

/** * 此文件用于套接字连接。此类接收的任何数据仅与 data.js 共享。*/

错误

0 投票
1 回答
399 浏览

python - onSnapshot() Firestore 使用 Flask-Sockets 多次发送更改

我正在尝试使用 Flask 和 Firestore 开发网络聊天。我设置了一个流程来接收来自 firestore 的新消息(当数据库发生变化时)并通过 websockets 发送到 UI。像这样的东西:

Python:

Javascript:

问题是:当我使用 col_snapshot 作为消息时,除了每次发送消息时我都会将整个 firestore 集合发送给用户之外,一切都很好。所以它完全没有效率。当我只为更改设置回调时,如上所述,如果我多次触发该函数,我以某种方式为同一个集合设置了多个侦听器,因此我在 UI 中获得了多个“更改更新”。我如何跟踪这些听众,以便每个集合只设置一个听众?

0 投票
1 回答
902 浏览

python - 在 Python Flask 服务器中使用 RxPY 处理基于推送的事件的 websocket 断开连接

语境

我正在使用RxPY启用通过 websockets 发送基于推送的事件。我在带有geventFlask服务器中使用烧瓶套接字。events 类包含一个充当事件发布者的rx.subject.BehaviorSubject,而 websocket 客户端订阅更改。

问题

我希望能够检测到客户端何时断开连接,以便正确处理资源。问题是当套接字断开连接并ws.send引发异常但它在 lambda 内时。

解决方案?

有没有办法将异常传递给父函数?

另一种解决方案是在不调用的情况下检测 websocket 断开连接,并且可以在 lambda 之外进行检查,尽管我在烧瓶套接字库中ws.send找不到这种方法。

0 投票
1 回答
328 浏览

python - 带有聊天客户端的 Flask webapp(使用 websockets 连接到另一台服务器)

目前,我有一个在 Flask 上运行的动态网站,我想在后端实现一个聊天客户端,该客户端利用将连接到外部服务器的 websockets。因此,例如,当登录用户访问“/聊天”路由时,我想为这个外部聊天服务器启动一个 websocket。

然后,我将在将 JSON 对象 POST 到另一个路由(例如“/send_msg”)的页面上使用 JavaScript 处理发送/接收消息,同时通过从“/receive_msg”获取不断检查新消息。

问题是我在网上看到的每一个教程(包括关于 SO 的问题)都是关于本地 websockets 的,其中烧瓶应用程序本身充当聊天服务器。并且使用python的内置套接字模块并不好(我认为),因为我看不到一种方法可以在用户在页面上时使其保持打开状态,然后在用户离开页面时关闭()-ing它。有没有办法为外部服务器做到这一点?如果是这样,我该怎么做?谢谢!<3

0 投票
3 回答
2844 浏览

flutter - socket 、 socketio 和 websockets 之间的区别

有人可以解释一下关于 python 的 socket、socketio、flask socketio 之间的区别吗?为了使用这个带有颤动的套接字,我应该在后端编写什么代码?就像我应该写服务器和客户端还是只写客户端?

0 投票
1 回答
304 浏览

flutter - 如何将烧瓶 scoketIO 连接到我的颤振聊天应用程序

如何将我的颤振应用程序连接到 flask_socketIO python ?在颤振中,我正在制作一个聊天应用程序,其获取用户的后端位于烧瓶 bakcend 中。那么我应该如何连接它们呢?

0 投票
0 回答
1549 浏览

nginx - 无法连接到带有无效会话 ID 错误的 flask-socketio

我正在尝试使用 flask-socketio 运行我的烧瓶应用程序。在更改了许多配置后,我终于设法在 aws 上的 ubuntu 服务器上使用 gunicorn、nginx 和 gevent 运行了我的烧瓶应用程序。但是每当我尝试连接时,连接都会失败,并且在错误日志中我会收到 Invalid session 错误。我也安装了 gevent-websokets,但效果不佳。这是错误信息

这是我的 nginx 配置

这些是正在运行的实例 在此处输入图像描述

使用gunicorn -k gevent -w 1 运行应用程序后更新 1我收到此错误

更新 2

根据文档

当 gunicorn 与 gevent worker 和 gevent-websocket 提供的 WebSocket 支持一起使用时,必须更改启动服务器的命令以选择支持 WebSocket 协议的自定义 gevent Web 服务器。修改后的命令是: