socket.io客户端和socket.io服务器有什么区别?socket.io的替代方案是什么?

3
我一直在努力理解socket.io的作用以及它在客户端和服务器之间的持续通信中扮演的角色。以下是我脑海中经常出现的一些基本问题:
  • node.js和socket.io服务器是不同的方式实现相同功能吗?就像lighthttpd和apache一样?
  • 如果我已经有了node.js,为什么还需要使用socket.io服务器?
  • 我能否将socket.io客户端与其他服务器端编程语言(如PHP)一起使用?
  • 除了使用socket.io客户端,还有其他选择吗?
  • socket.io客户端只是用于websocket通信的另一个javascript库吗?
谢谢 :)
3个回答

3
Socket.IO服务器接受来自Socket.IO客户端的连接。这与其他服务器(如Web服务器,例如Apache)接受来自客户端(如Internet Explorer等Web浏览器)的连接没有任何区别。
Node.js是构建在V8 JavaScript引擎之上的平台,它带有一个方便的库,通常用于Web和网络应用程序。 Socket.IO是一个Web套接字通信包装器和RPC,使服务器和客户端能够通过各种传输方式进行通信(从长轮询JSON到真实的Web套接字)。通常,Socket.IO服务器代码在运行在Node.js之上的JavaScript应用程序中,而Socket.IO客户端在Web浏览器上的JavaScript中运行。(请注意,您也可以在Node.js应用程序中运行Socket.IO客户端,我过去使用它作为多个Node.js应用程序之间快速RPC的方法。)
许多语言都有可用的Socket.IO客户端,是的,我相信PHP也有一个,但我个人没有使用过。
如果您想与Socket.IO服务器通信,则必须使用Socket.IO客户端。这是一种独立的协议。

1

node.js和socket.io服务器是做同样事情的不同方式吗?像lighthttpd和apache一样吗?

Socket.io是用于node.js的框架/库。

如果我已经有了node.js,为什么要使用socket.io服务器?

它是设计用于双向通信的框架,如果需要可以使用它。

我能否将socket.io客户端与其他服务器端编程语言(如PHP)一起使用?

技术上是可以的。但是那么您就必须在该其他语言中重新实现socket.io服务器以匹配它。

除了socket.io客户端之外,还有其他选择吗?

有很多,可以在[这里放入您的语言]中搜索websocket /实时通信。

socket.io客户端只是用于websocket通信的另一个javascript库吗?

Socket.io客户端是与socket.io服务器兼容的JavaScript库(也是JavaScript库,只不过在服务器端,即Node.js)。


1

node.js和socket.io服务器是做同样的事情的不同方式吗?

SocketIO实际上是一个I/O引擎,允许客户端和服务器进行实时通信,而不像传统的HTTP请求。

如果我有node.js,为什么要使用socket.io服务器?

由于两者不同,我们不能进行比较。

我可以将socket.io客户端与另一种服务器端编程语言(如PHP)一起使用吗?

不行,因为socketIO服务器在NodeJS环境中运行。 客户端首先发出HTTP请求,然后socketIO向客户端发送静态JS脚本。 此脚本建立了双向通信。 但是您可以使用不同的socketIO客户端实现来使用socketIO服务器。

是否有使用socket.io客户端的替代方案?

任何socketIO客户端实现都可以完成工作,因为它们连接到服务器。 但要注意异步通信的方式,例如Java或PHP。

socket.io客户端只是用于websocket通信的另一个javascript库吗?

是的,但socketIO旨在提高可靠性和易用性,并且尽最大努力:它选择客户端可用的最佳传输方式。

希望这有所帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接