同一个socket.io接口可以支持传统的套接字连接以及websocket连接

我必须支持写入套接字的GPS设备,同时还需要支持移动设备的networking套接字。 相同的socket.io代码可以支持这两个吗?

简短的回答: 没有这样的socket.io模块来调用或服务TCP请求不存在

长的答案:你可以通过使用这个可能的选项,轻松地在你的node.js中解决这个问题

  • 第一个select是只支持socket.io的客户端和服务器。 所以你可以很容易地开发一个协议。

  • 第二个select是将socket.io + TCP服务器合并,并用相同的处理程序处理接收到的请求。 为了简化,以服务器端为例。

  //运行socket.io服务器
     //运行TCP服务器
    函数处理程序(事件,数据,套接字){
      this.getProfileData =函数(的数据,sockets){
       //要做的事情 
       //为socket.io调用socket.emit,或者为TCP调用socket.write
      }
     此[事件](数据,sockets);  //调用适当的事件
     }
     //从socket.io或TCP接收到新消息时
    新的Handler(事件,数据,套接字);

  • 第三个select是使用WebTCP之类的网桥或者实现自己的网桥。

  • 还有浏览器的实验性TCP套接字API,但不推荐使用。