【发布时间】:2014-05-26 12:47:09
【问题描述】:
我使用 Ratchet 看到的大多数示例都用于聊天服务,我目前正在构建一个应用程序,用户可以在其中登录并根据他们的用户 ID 从服务器接收通知。
我有基本教程,但是我很难理解几点:
当调用onOpen() 方法时,我将$conn 对象设置为一个数组,如下所示:
$this->clients[$conn->resourceId]['conn'] = $conn;
在我的 Javascript 中,在 onopen 函数中,我还使用 send 函数发送 JSON 有效负载。我的服务器将其拍照并存储在 onMessage 方法中:
$this->clients[$conn->resourceId]['json'] = $json;
所以现在我将连接的用户存储在一个数组中,我如何向特定用户发送消息?我查看了 onSubscribe 和 broadcast 无济于事,但真的不明白WampServerInterface 的用途是什么?
由于我自己的类是一个正在运行的脚本,我显然无法在其他任何地方创建它的新实例。由于我的应用程序将发送特定于用户的更新,因此我需要以下某种方式来执行此操作:
使用另一个脚本获取当前连接的用户,在某处处理这些用户并返回他们可能拥有的任何更新,每 60 秒一次。现在虽然这听起来像是轮询,但它只是一个连接,因此不会在服务器上密集 - 至少我是这么认为的。 那么我如何才能将正在运行的服务器脚本与其他地方的其他“静态”PHP 脚本进行交互?
谢谢
【问题讨论】:
标签: javascript php phpwebsocket ratchet