4

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

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

4

1 回答 1

9

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

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

WebSocket 框架倾向于提供一个额外的PubSub层,例如 Pusher(我以前为之工作过的)使用channels来实现这一点。您会发现类似的术语以及“主题”和“主题”。

一旦你有办法在两个客户端之间路由数据(聊天消息),你就需要考虑对订阅进行身份验证。可以通过这个问题找到更多信息,该问题询问如何在两个用户之间创建私人频道。问题是关于 Ruby,但适用于任何技术。

于 2013-03-18T10:34:14.397 回答