websocket 和 socket.io 之间的区别是什么

2024-12-04 15:56:15
推荐回答(2个)
回答1:

websocket和socket.io之间的区别为:性质不同、兼容不同、用途不同。

一、性质不同

1、websocket:websocket是一种让客户端和服务器之间能进行双向实时通信的技术。

2、socket.io:socket.io是将WebSocket、AJAX和其它的通信方式全部封装成了统一的通信接口。

二、兼容不同

1、websocket:在使用websocket时,,虽然主流浏览器都已经支持,但仍然可能有不兼容的情况。

2、socket.io:在使用socket.io时,不用担心兼容问题,底层会自动选用最佳的通信方式。

三、用途不同

1、websocket:websocket适合用于client和基于node搭建的服务端使用。

2、socket.io:socket.io适合进行服务端和客户端双向数据通信。

回答2:

这个问题之前已经有人问过了,我也回答过了。socket.io是对websocket的分装。因为不是所有的浏览器都可以支持websocket。如果浏览器支持websocket,那么socket.io就等同于websocket。socket.io还用到了其它的技术来模拟websocket,所以当你是用socket.io的时候,不管浏览器是否支持websocket,你都可以实现异步操作。当然如果你的客户端是用了socket.io,server端也必须对应使用。