浏览器与服务器的socket.io客户端行为的差异

时间:2016-05-27 05:22:48

标签: node.js http socket.io

我想知道是否有人使用socket.io-client库在服务器之间进行通信,而不是在浏览器与服务器之间进行通信。

  1. 这是犹太人吗?
  2. 当客户端库在服务器上运行而不是在浏览器中运行时,库的行为是否几乎相同?
  3. socket.io-server库可以初始化与客户端的连接,还是socket.io-clients需要初始化连接?

2 个答案:

答案 0 :(得分:1)

考虑到您正在讨论socket.io-client的JavaScript版本:

  1. 是的,当然在服务器端使用它是合法的。它只是一个“客户”库,而不仅仅是一个“客户端”库。

  2. 行为是一样的,是的。

  3. 客户需要初始化连接。

  4. 服务器端使用示例为Socket.io-client documentation

    socket.io-client的其他版本也提供不同语言(swift,java,CPP),您可以在Github page找到它们。

答案 1 :(得分:1)

  

这是犹太人吗?

是的,这正是socket.io-client的设计目标。它适用于两台服务器之间的通信。

  

当客户端时,库的行为几乎相同   库在服务器上运行而在浏览器中运行?

是的,行为完全相同。唯一不同的是,浏览器实现建立在浏览器的webSocket支持之上,而服务器端客户端则使用socket.io webSocket实现。

  

socket.io-server库可以初始化与客户端的连接,   或者socket.io-clients是否需要初始化连接?

只有socket.io服务器是"听"用于传入连接。有人必须连接到socket.io服务器。您无法连接到socket.io客户端。客户端必须连接到服务器。因此,socket.io客户端(可以在浏览器中或在服务器上)必须是创建连接的客户端。连接后,可以在该连接上以任一方式发送数据。