【问题标题】:Send message via socket to a specific client with PHP Socket.IO使用 PHP Socket.IO 通过套接字向特定客户端发送消息
【发布时间】:2023-04-01 04:56:01
【问题描述】:

我需要向连接到套接字服务器的客户端发送一条消息,但我只需要将它发送给一个人,而不是这样的广播。我已经阅读了 socket.IO 的函数to() 可以,但是我已经以多种方式实现了它,但我没有得到它,我将它发送给所有人。 这是我的代码

... $socket->on('新消息', function($message) 使用($socket) { $socket->emit("新消息", array( "用户名" => $socket->用户名, “行动”=>“我”, "message" => [ "from" => $socket->username['WP_USER_DATA']['guid'], "type" => "user", "time" => date('H:i'), “消息” => $消息] ) ); //我需要帮助,请 $socket->broadcast->emit("新消息", array( "用户名" => $socket->用户名, “行动”=>“聊天”, "message" => [ "from" => $socket->username['WP_USER_DATA']['guid'], "type" => "", "time" => date('H:i'), "消息" => $消息] )); }); ...

【问题讨论】:

    标签: php socket.io


    【解决方案1】:

    来自Socket.IO cheatsheet

    // sending to individual socketid (private message)
    io.to(`${socketId}`).emit('hey', 'I just met you');
    

    所以对你来说,它是这样的:

    //I NEED HELP HERE, PLEASE
    io->to($socketId)->emit("new message", array(
        "username" => $socket->username,
        "action" => "chat",
        "message" =>  [ "from" => $socket->username['WP_USER_DATA']['guid'], "type" => "", "time" => date('H:i'), "message" =>  $message ]
    ));
    

    注意:您需要存储(在array中)客户端连接时的ID($socket->id),并在上面的示例中使用您需要的$socketId .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2012-05-24
      • 2015-08-06
      • 2020-03-06
      • 2018-09-08
      • 2011-10-18
      • 2017-08-14
      相关资源
      最近更新 更多