使用handle_message/1
回调时,有没有办法让客户端获得“处理”(例如Pid)?所以我可以向特定的客户发送消息,并使用客户列表生成进程作为特定客户组的参数(例如,用于游戏/聊天会话)。
或者还有其他方法我应该用雅司解决这个问题吗?我没有在Yaws网站上的任何文档或示例中找到它。
答案 0 :(得分:1)
在您返回out/1
以升级与WebSocket连接的{websocket, CallbackModule, Options}
函数中,您可以设置Options
值以指示您的回调模块是高级回调模块,您还可以指定每次Yaws调用它时传递给回调模块的初始状态值。如果在初始HTTP请求中发送了特定于客户端的信息,则out/1
函数将在其#arg{}
参数中接收该信息,因此您可以从那里检索该信息并将其作为初始状态的一部分返回。