为什么使用套接字.IO客户端,我们可以使应用程序只使用via套接字.io服务器?



我有一些疑问:-

  1. 使用套接字需要什么。IO客户端我们只能使用套接字。
  2. 套接字之间有什么不同。IO客户端和套接字。io服务器。

查看此链接

socket-io。Client是socket.io客户端实现的代码。该代码既可以由浏览器客户端使用,也可以由启动套接字的服务器进程使用。到其他服务器的IO连接(因此在套接字中扮演客户端角色)。输入输出连接).

未初始化套接字的服务器。到其他服务器的IO连接不会使用此代码。当使用套接字时,这可能会使它变得更令人困惑。在Io中,客户端和服务器似乎都使用相同的socket.io.js文件(因为它们都引用具有相同名称的文件),但实际情况并非如此。服务器正在使用与客户端不同的文件

socket-io.client的Github页面:

套接字的独立构建。Io-client由套接字自动公开。IO服务器为/socket.io/socket.io.js。或者,你也可以在这个存储库的根目录下提供socket.io.js文件。

请记住,有属于客户端和服务器的独特功能,所以它们使用一些不同的代码应该不足为奇。虽然它们共享代码来解析协议和类似的东西,但服务器有能力运行服务器或钩子到现有的web服务器,它有。join()和。leave()这样的方法和数据结构来跟踪所有连接的套接字,并且预计将存在于node.js环境中。客户端有能力发起一个连接(发送正确的http请求),如果不支持webSocket就进行轮询,如果有,就构建一个本地的webSocket实现,等等....