我在Win7机器上安装了lemmingzshadow / php-websocket,这很简单:
它说“连接”30秒(显示服务器没有信息)然后说“断开连接”,这是相关的命令行输出:
自从我试图弄清楚为什么会发生这种情况以来,已经过了几天,尝试了其他Websocket脚本,它们只有在我从Ubuntu访问它们时才能工作。我甚至在Ubuntu / XAMPP上安装了相同的脚本,并且仍然遇到了同样的问题(脚本在Ubuntu上正常运行但在其他操作系统上没有运行)。
我为此疯狂,不知道为什么会发生这种情况?
答案 0 :(得分:0)
在该代码(lemmingzshadow)中,默认行为是服务器屏蔽它发送给客户端的数据:
Connection.php:
public function send($payload, $type = 'text', $masked = true)
由于某些原因,这可以在Chrome 18中使用,但它违反了最新的websocket规范,并且在Chrome 19中不起作用。
RFC 6455 Sec 5.1:
服务器不得屏蔽它发送给的任何帧 客户端。如果客户端检测到屏蔽,则必须关闭连接 帧。