插座之间有什么区别。IO和websockets在
node . js ?
它们都是服务器推送技术吗?
我觉得唯一的不同是,
套接字。IO允许我通过指定事件名称来发送/发出消息。
对于socket。io消息从服务器将到达所有客户端,但同样在websockets,我被迫保持一个数组的所有连接和循环通过它发送消息到所有客户端。
同时,
我想知道为什么网络检查员(如Chrome/firebug/fiddler)无法从服务器捕捉这些消息(从socket.io/websocket) ?
请澄清这一点。
我想在2021年再提供一个答案。套接字。在2019年9月至2020年8月(将近2年)期间,基本上没有任何活动,我本以为该项目可能已经死亡。
套接字。io也发表了一篇文章,叫做为什么使用Socket。2020年的IO ?除了退回到HTTP长轮询之外,我认为这2个特性都是socket的。IO提供,websocket缺乏
端的自动重连接
将数据广播到给定客户端集(房间/名称空间)的方法
我发现socket的另一个特性。io方便是为ws服务器开发,特别是我使用docker部署我的服务器。因为我总是启动一个以上的服务器实例,跨ws服务器通信是必须的和套接字。IO为它提供https://socket.io/docs/v4/redis-adapter/。
使用redis-adapter,将服务器进程扩展到多个节点很容易,而ws服务器的负载平衡则很困难。点击这里https://socket.io/docs/v4/using-multiple-nodes/了解更多信息。