gpt4 book ai didi

events - Pusher 应用客户端事件

转载 作者:行者123 更新时间:2023-12-04 22:24:48 28 4
gpt4 key购买 nike

我正在编写多人国际象棋游戏,并在 websocket 服务器部分使用 Pusher。

无论如何,如果我有一个用户列表,并且我选择其中的任何一个并挑战他们,我如何仅向该用户发送挑战?我知道我会使用客户端事件,例如:

channel.trigger("client-challenge_member1", {some : "data"});

但我认为这个事件必须已经创建。那么我是否在每个成员订阅后动态创建这个事件?可能在:
channel.bind("pusher:subscribed_completed", function(member) // not sure of correct syntax but...
{
channel.bind("client-challenge_" + member.memberID, function(data)
{
alert(data.Name + " is challenging you.");
});
});

我认为 trigger 会有一个重载方法,例如:
channel.trigger(eventName, data, memberID)

但我看不到这样的东西。有任何想法吗?谢谢。

最佳答案

我在我的应用程序中遇到了这个问题。目前 Pusher 不提供向特定用户发送事件的方法。我认为你提到的方法适合你的情况。对于我的应用程序,我让每个用户订阅一个 channel ,他们的用户 ID 作为 channel ID,然后我可以通过该 channel 向单个用户发送消息。

client = new Pusher(PUSHER_API_KEY);
channel = client.subscribe(user_id);
channel.bind('my_event',function(data){
//Do stuff
});

我与推送团队讨论了这种方法,他们向我保证,拥有额外的 channel 没有真正的开销。 new Pusher() 命令是创建新套接字连接的代码,因此您不必担心每个 channel 或类似的额外套接字。希望这可以帮助。

关于events - Pusher 应用客户端事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5199220/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com