为什么我们使用 socket.io 客户端我们只能通过 socket.io 服务器来制作应用程序?

why we use socket.io client we can make app with only using via socket.io server?

我有一些疑问:-

  1. 需要什么才能使用 socket.io 客户端我们只能使用 socket.io 服务器来停止刷新应用程序。
  2. socket.io 客户端和 socket.io 服务器有什么不同。

检查

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

未启动与其他服务器的 socket.io 连接的服务器不会使用此代码。这已经变得有点混乱,它可能应该是因为当使用 socket.io 时,客户端和服务器似乎都使用相同的 socket.io.js 文件(因为它们都引用一个文件同名),但实际上并非如此。服务器正在使用与客户端不同的文件。

来自套接字的 Github 页面-io.client:

socket.io-客户端的独立构建由 socket.io 服务器自动公开为 /socket.io/socket.io.js。或者,您可以提供在此存储库根目录中找到的文件 socket.io.js。

请记住,客户端和服务器具有独特的功能,因此它们使用一些不同的代码也就不足为奇了。尽管它们共享用于解析协议和类似内容的代码,但服务器能够 运行 一个服务器或挂接到现有的 Web 服务器,并且它具有 .join() 和 .leave() 等方法以及数据结构跟踪所有连接的套接字,预计将生活在 node.js 环境中。客户端能够启动连接(发送正确的 http 请求),如果不支持 webSockets 则进行轮询,如果存在则构建本机 webSocket 实现等....