首页 > 解决方案 > 在 docker 容器中运行我的 websocket-server 时出现奇怪的问题

问题描述

我面临一个非常奇怪的问题。我有一个 websocket-server,如果我在本地运行它可以正常工作,但是一旦我将服务器容器化,当我尝试将基于 JavaScript/TypeScript 的客户端连接到服务器时,就会发生各种奇怪的事情。

我看到的行为是连接已建立并且服务器开始推送消息(二进制数据,因为它可以获得 BIG,目前只有单向服务器 - >客户端)。第一条消息被正确接收,我验证了这一点,但是当客户端收到第二条消息时,它就乱了套。浏览器的 websocket 实现关闭连接并显示以下错误消息:服务器不得屏蔽它发送给客户端的任何帧。

我实现服务器的一些背景知识:我使用的是 Qt 5.4.1 的自编译版本,并且我使用 QWebsocketServer 作为实现的基础。不幸的是,我不能使用 Qt 的 *nix-native 版本,所以在我的容器中我使用 wine (wine-6.9 (Staging) 来执行我的 PE 可执行文件。一个有趣的点是,如果我真的只有一个“小”我发送给客户端的数据量,它工作稳定,即使我从容器内运行它。所以我假设有什么东西弄乱了数据,这导致了我看到的问题。

当我开始扯头发时,因为我现在完全没有想法,任何想法/指针/提示都非常感谢。

标签: dockerqtwine

解决方案


推荐阅读