gpt4 book ai didi

HTML5 Websocket 脚本在 Ubuntu 中工作,在 Win7 或 WinXP 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 02:43:30 28 4
gpt4 key购买 nike

我已经安装了lemmingzshadow / php-websocket在我的 Win7 机器上,这很简单:

  1. 将内容解压缩到我的 htdocs 文件夹中。
  2. 从命令行执行server.php。
  3. 从支持 Websockets 的浏览器请求文件/client/status.html。

现在这是我在运行 Google Chrome 19/Windows 7 的本地计算机上得到的结果

Win7 click to enlarge

它显示“已连接”30 秒(不显示来自服务器的任何信息),然后显示“已断开连接”,这是相关的命令行输出:

command line report

使用 Firefox 12/WinXP 从另一台计算机通过 LAN 访问脚本时出现完全相同的问题

winXP click to enlarge

它似乎仅在使用 Firefox 7.0.1 或 Chromium 从我的 VirtualBox Ubuntu 访问它时才有效

Ubuntu click to enlarge

自从我试图弄清楚为什么会发生这种情况以来,已经有好几天了,尝试了其他 Websocket 脚本,它们仅在我从 Ubuntu 访问它们时才起作用。我什至在 Ubuntu/XAMPP 上安装了相同的脚本,但仍然遇到同样的问题(脚本在 Ubuntu 上运行良好,但在其他操作系统上运行不佳)。

我对此感到疯狂,知道为什么会发生吗?

最佳答案

在该代码 (lemmingzshadow) 中,服务器的默认行为是屏蔽它发送到客户端的数据:

连接.php: public function send($payload, $type = 'text', $masked = true)

出于某种原因,这在 Chrome 18 中可以工作,但它违反了最新的 websocket 规范,并且在 Chrome 19 中不起作用。

RFC 6455 Sec 5.1:

A server MUST NOT mask any frames that it sends to the client. A client MUST close a connection if it detects a masked frame.

关于HTML5 Websocket 脚本在 Ubuntu 中工作,在 Win7 或 WinXP 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10337255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com