问题标签 [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.
python - 如何在 Flask-SocketIO 中向测试客户端推送通知?
我正在尝试作为客户端接收来自服务器的推送;使用我的测试客户端如下:
客户:
服务器:
服务器应该正在推送和调用hit_client
通道,但这并没有被触发。但是,socket_client.get_received()
有发出的数据。我认为 WebSockets 的全部意义在于双向通信(即推送函数触发器)!
这是一个非常简单的设置,它甚至似乎都不起作用......任何帮助都将不胜感激。几个小时以来我一直在摇头。
jquery - SocketIO在JS中没有收到消息
我正在尝试使用 socket.io.js 应用程序实现一个 FlaskSocketIO,用于前端和我的 Web 套接字服务器之间的实时通信
前端代码如下所示:
我在 Flask 中使用的代码是:
在 FlaskSocketIO 方面,我可以成功接收到消息,但是当我发出“我的响应”消息时,我可以看到来自 Google Chrome 的“网络”选项卡中列出的消息,如下所示,但根据我上面的 javascript 代码没有对“我的响应”采取任何操作' 事件:
话虽如此,前端和flasksocketsio之间的通信已成功进行,但是这部分代码没有任何反应......
我尝试过使用 alert(msg) 甚至 console.log(msg) 但即使我看到收到的消息它们也没有显示任何东西......任何线索可能是错误的?也许 Flask 为 SocketIO JS 插件生成错误格式的消息?
python - 烧瓶套接字和 ZeroMQ
我正在zeromq
尝试使用 websocket 将发布/订阅消息发送到浏览器。以下“有效”,因为消息确实通过 websocket 发送。但是,尝试重新加载页面只是挂起,因为我猜while True
循环被阻塞了。我认为该gevent.sleep()
调用将允许上下文切换,但显然不是。知道如何让所有这些部分一起工作吗?
nginx - 混合内容:https 的页面是通过 https 加载的,但请求不安全
我正在使用 Nginx + flask-socketio + aws elb,当在 https 上加载 URL 时,我收到以下与 Nginx 和套接字有关的错误消息,请对此提供帮助,
python - 使用gevent和Flask实现websocket,如何实现并发?
所以我使用Flask_Socket来尝试在 Flask 上实现一个 websocket。使用它,我希望在数据发生变化时通知所有连接的客户端。这是我的routes/index.py
. 我遇到的问题是,当打开 websocket 连接时,它将一直处于notify_change
循环中,直到套接字关闭,与此同时,其他路由/users
无法访问。
这似乎是本质上的正常结果,while True:
但是,我一直在网上寻找一种方法来解决这个问题,同时仍在使用flask_sockets
并且没有任何运气。我在 GUnicorn 上运行服务器
flask/bin/gunicorn -b '0.0.0.0:8000' -k flask_sockets.worker app:app
我尝试通过做添加线程--threads 12
但没有运气。
注意:我一次最多只能为 4 个用户提供服务,因此不需要扩展,也不需要对解决方案进行超优化。
javascript - Python Flask-Sockets 在蓝图中不起作用
我正在试验Flask-Sockets。过去添加了对蓝图的支持,这是我真正需要的。
因此,在 JavaScript 中连接一个 websocket 并将端点设置为“echo”(即var ws = new WebSocket("ws://HOST:PORT/"+"echo")
)可以完美地工作。我可以发送消息,它们会立即退回给我。
但是,当我想将此函数移动到蓝图时(在蓝图中play_socket
,它不再起作用。假设我在 javascript 中将端点更改为“/status_ping”:
websocket 已从客户端成功连接,我可以通过print("HERE")
在def ping(socket):
.
我发现如果我将while not ws.closed:
循环体移动到标题上方(复制它),它就会“起作用”。但是,我不能使用它,因为我需要套接字将数据从服务器推送到客户端。执行此 while 循环时似乎出错了。由于某种原因,套接字立即关闭。更改while not ws.closed:
为while True:
没有效果。
我试图尽可能多地隔离问题,但如果您需要更多信息,请告诉我。
编辑:蓝图的代码示例
上下文可用的主run.py
文件以以下方式开始:app
python - 使用烧瓶套接字时工作人员超时
我正在尝试在现有的烧瓶 restful 应用程序中支持 websocket,它将 gunicorn 超时设置为 20 秒。我决定使用flask-sockets扩展,一切顺利,除了greentlet会在20秒后超时。
我假设 websocket 连接被视为普通的 http 请求,因此预计会在 greenlet 超时后返回响应。
我添加了以下代码并将 gunicorn worker_class 更改为geventwebsocket.gunicorn.workers.GeventWebSocketWorker
我应该如何处理这种情况?感谢您的任何建议。
添加输出:
python - 从 Flask 视图发送 WebSocket 消息
我正在尝试制作一个使用 WebSockets 的 Flask 应用程序。Flask-sockets中的示例有效,但我将如何从常规视图发送消息?
类似于 Flask-SocketIO 如何使用.emit()
和.send()
-methods。
在下面的示例中(来自 Flask-Sockets 示例),例如,我希望能够从hello
-view 广播消息。
python - aws Ec2 ubuntu - 导入名称中带有下划线的模块
我正在尝试在我的 EC2 实例上部署一些 python 程序。
在代码中有这一行:
从 flask_sockets 导入套接字
错误: ModuleNotFoundError:没有名为“flask_sockets”的模块
但是安装了flask_sockets,pip freeze给出:
烧瓶插座==0.2.1
像这样导入
从烧瓶插座进口插座
也不能正常工作。
有人知道可能出了什么问题吗?
python - Flask-Sockets keepalive
我最近开始flask-sockets
在我的烧瓶应用程序中使用原生 WebSocket API 作为客户端。我想知道是否有适当的方法从服务器以一定的时间间隔发送 ping 请求作为 keepalive?
在浏览geventwebsocket
图书馆时,我注意到了定义handle_ping(...)
,但它从未被调用过。有没有办法确定 WS 上的 ping 间隔?
有时我看到我的插座在一分半钟后就死掉了。
如果我将它们保存在一个列表中,我可能会启动一个单独的线程并每 30 秒手动向客户端发送一次 ping 操作码,但我觉得会有更好的方法来处理它。