问题标签 [ws4py]

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

python - 将 websocket 请求桥接到 ZMQ 并返回

我创建了一个 Web 套接字服务器,ws4py它将消息分派到 ZMQ 消息总线并将响应返回到 Web 套接字。精简后的代码如下所示:

在这个最小的示例中,我删除了将结果发送回消息总线并直接订阅消息的系统处理部分(本质上使它成为一个复杂的回显服务器)。问题是_recv_result()永远不会被调用。我删除了所有订阅过滤器前缀,并将其设为gevent线程,但这无济于事。有谁知道可能出了什么问题?

0 投票
2 回答
1360 浏览

javascript - ws4py - 发送/接收消息不起作用

我在制作 WebSocket 服务器/客户端时遇到问题。

这是我的 WebSocket 类:

还有我的 JavaScript 页面(注意,不是全部):

安装服务:

现场服务:

因此,安装和启动工作,整个生产运行了几个月,但是带有 ws 的新 LiveService 无法正常工作。在日志中,我正在获取[21/Jul/2015:16:55:28] ENGINE Starting WebSocket processingOpened消息,但我从未收到或无法发送消息。当我将 LiveService.LoginLiveServiceWebSocketHandler 更改为 EchoWebSocket 时,他会获取消息并发送它们,但是在 ws_zones 处理程序上

cherrypy.request.ws_handler.send(b"登录 0", False)

不管用。无论是否与b。

0 投票
1 回答
1109 浏览

python-3.x - Websocket(Python 3.5 中的 ws4py)在 Docker 容器中不起作用

我有一个简单的 Web 应用程序,它使用 CherryPy 作为 RESTful 后端,使用 ws4py 作为 websockets。

Python websocket 代码:

Python CherryPy 代码:

Javascript代码:

发布到 API:

Websocket部分:

这在我的机器上运行良好并部署在 Amazon EC2 上。但是,当我尝试在 Docker 容器中部署它时,websockets 不起作用。

这是我的 Dockerfile:

我从 Docker 运行时的输出:

它永远不会达到 Javascript 文件能够通过 websocket 发送数据的阶段。Chrome 调试将 WS 状态显示为“待定”。

但是,当我在 Docker 中退出 CherryPy 应用程序时,websocket 消息通过:

在没有 Docker 的情况下运行它时的输出:

在非 Docker 情况下,websocket 会立即识别自己。我想不通。websocket接收器线程是否以某种方式卡在Docker中?

来自 Docker 日志的可疑部分是当应用程序退出时,websocket 接收到的消息终于到达:

0 投票
1 回答
224 浏览

python - ws4py在Linux系统中出现错误

我使用 ws4py 作为 websocket 服务器。它可以在 Windows 和 Mac 上正常运行,但在 linux 系统中运行时 websocket 客户端连接到服务器时会产生 TB。任何人都可以告诉我如何修复这个错误?

0 投票
1 回答
1620 浏览

python - Websockets — 无效的 UTF-8 字节

我正在尝试使用 Websockets 构建一个简单的回显服务器,但在出现错误之前,我只能让连接保持活动状态几秒钟。我得到 websocket 关闭的原因是“无效的 UTF-8 字节”,但我不确定这些无效字节来自哪里。这是我的 websocket 客户端:

我的服务器是带有 ws4py 的 Cherrypy:

当我运行应用程序时,这是我在服务器端得到的:

最后两条消息在第二个破折号之后也有一个开放的矩形。

这就是 Chrome 开发工具控制台所说的:

这些无效字节可能来自哪里?看起来我所做的只是发送普通文本。谢谢。

0 投票
0 回答
1288 浏览

python - Python Websocket 中的 Going away 1006 错误是什么意思?

我已经与服务器建立了连接,一切正常。几天后,我注意到数据没有更新,检查了日志并看到了这个:

消息:“关闭”参数:(1006,“离开”)

从文档中:

什么可能导致问题?我认为这可能是互联网连接丢失或服务器暂时停机(服务器来自第三方,而不是我们的)。但是,这些是我的疯狂猜测,如果有人能给我一些指导如何处理这个错误,我将非常感激。理想情况下,如果需要,我希望等待一段时间并再次连接。

谢谢!

0 投票
0 回答
507 浏览

python - 检查连接是否关闭

我正在使用cherrypy和ws4py。

如果浏览器切断 websocket 连接,任何写入def received_message(self, m):都会引发错误,

如何判断连接是否关闭?

0 投票
0 回答
185 浏览

ruby - 如何从 Rails 机架调用返回?

我正在使用 Faye websocket实现。当检测到 websocket 时,我想确保用户在打开连接之前发送了给定的标头,否则我想返回错误。我尝试使用返回错误 401,[]但我一直注意到代码继续执行并且无论如何都会创建 websocket。我设法通过return在它后面添加来防止它,但我不确定这是正确的方法。在客户端,我使用 ws4py 在 python 中实现它,当我返回时,我得到一个异常,表明它收到了 302 代码,而不是我期望发送的 401。

我的 ruby​​ 代码(没有 websocket 事件代码)如下:

0 投票
1 回答
4538 浏览

python - Python - 通过 JSON 发送文件

我正在尝试使用 ws4py 创建一个实时聊天应用程序(如果有更好的套接字库,我会喜欢建议)并且我想在我的应用程序中实现文件传输(特别是 .wav 文件)。

对于文本聊天消息,我目前正在使用 JSON 库通过我的套接字发送序列化字典并在任一端对其进行解码。像这样的东西

我希望能够为文件传输做同样的事情,所以我可以只发送一个 JSON,其中一个字段是 .wav 文件的数据,其他字段是用户名、文件名、文件扩展名等。 .

这是发送文件的正确方法吗?如果是这样,我似乎无法弄清楚如何将文件转换为 JSON 字符串以通过网络发送。这是我正在尝试的

这是我得到的错误

我将如何序列化和反序列化包含文件的 JSON,以便我可以通过套接字发送它?

我的目标是一旦这个工作我可以让这个交易的接收端代码看起来像这样

0 投票
0 回答
238 浏览

python - 在 websockets (python) 的 ws4py 包中,close() api 没有关闭连接

我正在尝试编写一个 websocket 客户端,它从 websocket 服务器侦听某些事件并将它们转储到屏幕上。如果消息长度超过 250 个字符,我希望关闭连接。我为此编写了以下代码:

但是在聆听时,关闭从未通过。已终止的客户端和服务器标志显示为“真”,但客户端仍继续接收消息。我使用 close() 有什么问题吗?或者这是 websocket 客户端应该如何工作,直到它被明确杀死?

这是输出: