是否可以指定事件的成员ID,以便仅该成员才能收到该事件?
例如,如果我想向用户发送通知(我知道的用户ID),我该怎么做?我将成员/用户ID存储在状态身份验证中 -
$pusher->presence_auth($_POST['channel_name'], $_POST['socket_id'], $user_id)
, $user_data);
我希望能够触发特定user_id的事件
$pusher->trigger( 'presence-test', 'test_event', $data, $socket_id );
有可能吗?
任何建议表示赞赏,谢谢!
答案 0 :(得分:6)
您无法向频道上的特定用户/客户端发送事件。
执行此操作的最佳方法是为每个用户设置private-
channel,以便您只能向他们发送信息。它们是私有的这一事实也意味着您只能确保预期的用户订阅(参见authenticating users)。
在您的情况下,频道名称可以是'private-' + user_id
。
然后,您可以让用户订阅该频道并从服务器发布到该频道。