◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
Websocket 高级特性底层实现揭秘
作为一名 Web 开发新手,您在使用 Websocket 时可能遇到了困惑,特别是在缺乏适当文档的情况下。为了填补这一空白,本文将探讨如何在不使用框架的情况下通过底层 API 实现 Websocket。
具体而言,让我们探讨一个场景:用户 A 向用户 B 发送消息。作为用户 A,您已经将消息发送到了服务器。现在,该是如何将消息传递给用户 B 呢?
答案的关键在于服务器端连接和 ID 的记录。服务器会根据连接为每个客户端分配一个唯一的 ID。当用户 A 发送消息时,他们会将包含其自身 ID (0) 和消息 (1) 的数据{id:0, msg:1}发送到后台。
服务器端收到此数据后,将通过用户 ID (id:0) 查找与用户 A 关联的 Socket 连接。一旦找到此连接,服务器便会将其写入,发送消息给用户 A。
因此,当用户 B 通过用户 ID 建立连接时,服务器可以将其 Socket 连接与该用户相关联。如果用户 A 向用户 B 发送消息,服务器可以利用此连接将消息直接发送给用户 B。这种基于连接和 ID 的机制确保了消息被正确传递到目标用户。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。