Socket.IO-客户端与Socket.IO

2022-02-22 00:00:00 socket.io javascript

socket.io-client和socket.io有什么区别?

我还觉得有点困惑,因为Socket.IO-Client还有一个用于"server-side usage"的部分


解决方案

socket-io.client是Socket.IO的客户端实现代码。该代码可以由浏览器客户端使用,也可以由启动与其他服务器的Socket.IO连接(从而在Socket.IO连接中扮演客户端角色)的服务器进程使用。

没有启动到其他服务器的Socket.IO连接的服务器不会使用此代码。这可能是因为在使用Socket.IO时,客户端和服务器似乎都在使用相同的socket.io.js文件(因为它们都引用了同名的文件),所以这一点可能会更令人困惑,但实际情况并不是这样的。在使用Socket.IO时,客户端和服务器似乎都在使用相同的socket.io.js文件(因为它们都引用了同名的文件)。服务器正在使用与客户端不同的文件。

来自Github page for socket-io.client:

Socket.IO-Client的独立版本由 作为/Socket.IO/socket.io.js的Socket.IO服务器。或者,您可以 提供位于此存储库根目录的socket.io.js文件。

请记住,有属于客户端和服务器的独特功能,因此它们使用一些不同的代码也就不足为奇了。虽然它们共享用于解析协议之类的代码,但是服务器有能力运行服务器或挂钩到现有的Web服务器,并且它有像.join().leave()这样的方法,以及跟踪所有连接的套接字的数据结构,并且预计将位于node.js环境中。(=客户端能够发起连接(发送正确的http请求)、在不支持WebSocket时进行轮询、在本地WebSocket实现(如果存在)上构建,等等……

相关文章