当使用 websockets 时,我注意到一些消息丢失。我正在尝试在移动 safari(客户端)和 c#(服务器)之间进行通信。我正在使用 superWebSocket(开源)作为服务器,所以它可能是服务器错误...
但是只有在连接拥塞时才会丢弃消息(当我发送大量消息时)。这对我来说是 UDP 的“reaks”,但我记得在某处读到网络套接字是 TCP。
是否存在我可能会在 javascript 中发出“发送”命令而接收方没有收到消息的情况?
最佳答案
我一直在高流量应用程序中广泛使用 WebSockets,并且在单个丢失消息(在任一方向)是致命的情况下。我从未见过任何消息丢失。但是,我确实记得在某个地方看到过关于同一问题的帖子或问题,并且那个人也在使用 superWebSocket 作为服务器。所以我强烈怀疑是 superWebSocket 存在 bug。
如果您使用非移动浏览器,您会遇到同样的问题吗? iOS 浏览器(我假设这就是您所说的移动 Safari 的意思)可能存在 WebSocket 错误。我没有使用 WebSockets 广泛测试该浏览器。我已经在 Linux 和 Windows 上广泛测试了 Chrome、Firefox(启用了 WebSocket)和 Opera(启用了 WebSocket)以及 Windows 上的 Safari。
除非整个连接失败,否则不允许在 Javascript 中发送不到达服务器的情况。如果发生这种情况,则某处存在错误。
关于javascript - Websockets 消息丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778108/