使用websockets的私人消息

时间:2013-03-18 04:16:53

标签: php websocket

我们如何使用Websockets(和PHP)实现私人消息系统(客户端到客户端)?

根据我的理解,服务器广播消息,所有客户端都可以通过connection.onmessage事件处理程序接收消息。我想知道是否有办法将消息发送给websockets中的目标用户?

1 个答案:

答案 0 :(得分:8)

当客户端发送消息(ws.send( message );)时,WebSocket服务器将收到消息。然后将其发送到的套接字完全由您的服务器代码决定 - 您的实现。

要创建一对一聊天,您需要一种在聊天中涉及的两个客户端之间路由数据的方法。您还需要一种验证方法,即只有这两个客户端才能接收该信息。

WebSocket框架倾向于提供额外的PubSub层,例如Pusher(我为之工作)使用channels执行此操作。您将找到类似的术语以及“主题”和“主题”。

一旦有了在两个客户端之间路由数据(聊天消息)的方法,您就需要考虑对订阅进行身份验证。可以通过这个问题找到更多信息,问How do I create Private channel between two user。问题是关于Ruby,但适用于任何技术。