棘轮客户端消息



我已经使用棘轮集成了推杆。向所有用户广播工作正常。

现在,我正在尝试找到一种方法,当我获得连接时,如何向特定用户发送消息。

订阅时执行的方法:

public function onSubscribe(ConnectionInterface $conn, $topic) {
    $conn->send(json_encode("Hello"));
}

客户端的JS:

var conn = new ab.Session('ws://127.0.0.1:8080',
                function() {
                    conn.subscribe('chat', function(topic, data) {
                        console.log(data); // here I'd like to get that "Hello" message
                    });
                },
                function() {
                    console.warn('WebSocket connection closed');
                },
                {'skipSubprotocolCheck': true}
        );
我没有

收到任何消息,我想我没有正确格式化它(json_encode("您好"))。有什么帮助吗?

您需要以某种方式存储连接,然后直接调用它们。

例如:

$conns[$conn->resourceId] = $conn;

然后后来:

$conns[$resourceId]->write("new data");

至于为什么你在订阅时没有收到消息,请尝试 write() 方法而不是 send() 方法。

此外,请检查控制台以查看您是否正在接收数据但未正确解压缩。

相关内容

  • 没有找到相关文章

最新更新