【问题标题】:Weird websocket behavior: only send data when close the tab奇怪的 websocket 行为:仅在关闭选项卡时发送数据
【发布时间】:2012-05-31 07:37:48
【问题描述】:

你有没有遇到过这种奇怪的情况。我正在使用warmcat.com最新版本提供的libwebsocket来支持chrome 20。连接正确打开,没有任何错误(控制台日志中没有任何错误)但是当我调用HTML5 Websocket的connection.send()方法时,什么也没有发生(也控制台日志中没有任何内容)。只有当我关闭选项卡或浏览器时,数据才会立即发送到 libwebsocket 服务器。

我在 Chrome 19 和 Firefox 12 中测试过,同样的症状也适用。

有趣的是,我有一台安装了 Window XP home 和 Chrome 19 的 vmware 客户机(与主机版本相同,我的主机运行 Windows 7)。当我在那台客户机上尝试 HTMl5 Websocket 时,一切都很好@_@

【问题讨论】:

  • 确认!我只是在 C 中的 websocket 服务器上工作。成功编写/发送握手标头响应后,我尝试通过浏览器或从服务器向浏览器发送一些数据到服务器,但没有任何反应!我想也许我做错了什么并重新阅读了 websockets 的规范,但无法解决问题!当我看到你的帖子时,我决定测试你的说法,你是对的!也许 chrome 对 websockets 仍然很模糊。

标签: google-chrome websocket


【解决方案1】:

我在过去 6 个月左右一直在遇到这个问题,它随机开始的一天,影响了我本地 Windows 机器上的所有标准浏览器。

9/10 次 WebSocket 连接数据只流向一个方向,我尝试安装了许多浏览器,它们都做同样的事情。我唯一的解决方案是使用在 linux 虚拟机中运行的任何浏览器。

有趣的是,现在嵌入到 Source 游戏引擎中的最新 Webkit 浏览器已经更新,它可以与游戏中的 WebSockets 完美配合(即使同一台机器上使用的 Webkit Chrome 不能)

我唯一的结论是,这是一个非常奇怪的 Windows 错误,唯一的解决办法就是格式化!

【讨论】:

  • 我赞成你的回答,因为我认为这个bug与Websocket无关,更有可能是系统环境造成的。
猜你喜欢
  • 2021-10-30
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
相关资源
最近更新 更多