如何使用 WebSocket 底层 API 实现用户间消息传递?
在底层 api 下使用 websocket 实现用户间消息传递
对于一个新手而言,理解 websocket 的底层 api 实现机制至关重要,而不是只依赖于框架提供的封装。在没有框架的情况下,websocket 的工作原理如下:
第一个用户向第二个用户发送消息
对于第一个用户,您已经将消息传递到后端。要将消息发送到第二个用户,您需要:
- 维护连接标识映射:服务端需要记录连接与用户 id 之间的映射关系,例如,{连接 id 1: 用户 a,连接 id 2: 用户 b}。
- 接收消息和用户 id:服务端收到第一个用户的 websocket 消息,消息中包含用户 a 和用户 b 的 id 以及要发送的消息文本。
- 查找连接:服务端使用用户 b 的 id 从映射关系中查找与用户 b 对应的 websocket 连接。
- 发送消息:服务端将消息写入找到的 websocket 连接,该消息将被发送到用户 b 的浏览器。
示例
假设用户 a 的连接 id 为 1,用户 b 的连接 id 为 2,消息文本为 "你好!"。第一个用户发送的 websocket 消息格式如下:
{ "id": 2, "msg": "你好!" }
服务端收到消息后,将其写入连接 id 为 2 的 websocket 连接,从而将消息发送到用户 b 的浏览器。
以上就是如何使用 WebSocket 底层 API 实现用户间消息传递?的详细内容,更多请关注其它相关文章!