棘轮和 Websockets - 无法正常工作

Posted

技术标签:

【中文标题】棘轮和 Websockets - 无法正常工作【英文标题】:Ratchet & Websockets - Can not get anything working 【发布时间】:2016-08-01 20:40:03 【问题描述】:

所以总的来说,我对 php 和 websockets 和服务器管理还很陌生。但一直负责设计 web 应用程序,并确定实现这一点的最佳方法是使用 websockets。所以我找到了棘轮。并开始尝试让它发挥作用。我有一个已经安装了 apache 的 linuxbox,并在 webroot 中创建了一个新目录并开始了 Ratchet 的教程。然而,无论我做什么,我什至连内联 telnet 部分都无法正常工作。

我有一个 composer.phar,我的 composer.json 中有他们的脚本,我按照他们的说明安装棘轮。但是,当我运行 php chat_server.php 命令时,它似乎什么也没做。该教程声明它应该控制控制台,正如我在视频教程中看到的那样。

所以我的最终问题是 - 是什么导致它无法正常运行?是不是一个糟糕的安装(我是在某个地方搞砸了安装,还是只是没有安装需要但没有明确说明的东西?)所有代码都与此处记录的内容相同 http://socketo.me/docs/hello-world

【问题讨论】:

【参考方案1】:

在设置棘轮时出现一些问题。

php 进程 (#php chat_server.php) 是否打开? 您是从另一个 cli 远程登录吗? 能否检查一下应该运行聊天服务器的端口是否已分配?(#netstat -pln) zmq 库是否已添加到 apache 模块中? (可能是你的问题)

如果上述方法不起作用,您可以尝试检查是否有防火墙在内部阻止了连接。

我建议从干净的机器开始执行所有设置步骤。

【讨论】:

这是一个端口问题。棘轮教程中的端口被 java 使用,这阻止了我的聊天服务器运行。

以上是关于棘轮和 Websockets - 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

iis8 上 WSS 上的 Ratchet Websockets

WebSockets + PHP(棘轮)登录系统

在 laravel 中使用 Supervisor 运行棘轮 websockets 和队列

使用棘轮 php 将消息推送到 websockets 而没有 ZeroMQ

带有棘轮的 PHP WebSockets - 示例不起作用

如何使用棘轮 websockets 将数据发送到服务器 onload?