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

我一直在理解socket.io究竟是什么以及它在整个客户端和服务器之间的整体持久通信中的作用。 我脑海中出现的一些基本问题是:

  • 是node.js和socket.io服务器做同样的事情的不同方式? 像lighthttpd和Apache?
  • 为什么我应该使用socket.io服务器,如果我有node.js?
  • 我可以使用另一个服务器端编程语言如PHP的socket.io客户端?
  • 有没有其他的使用socket.io客户端?
  • 是socket.io客户端只是另一个用于websocket通信的JavaScript库?

谢谢 :)

Socket.IO服务器接受来自Socket.IO客户端的连接。 这与任何其他服务器(例如Apache之类的Web服务器)接受客户端连接(如Internet Explorer等Web浏览器)没有任何区别。

Node.js是一个构build在V8 JavaScript引擎之上的平台,它带有一个通常用于Web和networking应用程序的便捷库。 Socket.IO是一个类似于networking套接字的通信包装器和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客户端。 这是一个独立的协议。

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

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

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

既然是不同的,我们不能比较。

我可以使用另一个服务器端编程语言如PHP的socket.io客户端?

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

有没有其他的使用socket.io客户端?

任何socketIO客户端实现都可以在连接到服务器之后完成这项工作。 但要小心asynchronous的通信方式,如Java或PHP。

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

是的,但socketIO的目标是可靠性和易用性,同时也尽最大努力:为客户select最佳的传输方式。

希望能帮助到你 !

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

Socket.io是node.js的框架/库

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

这是一个为双向沟通而devise的框架,如果你愿意,可以使用它

我可以使用另一个服务器端编程语言如PHP的socket.io客户端?

技术上是的。 但是,那么你将不得不重新实现socket.io服务器在其他语言来匹配它。

有没有其他的使用socket.io客户端?

很多,谷歌的websocket /实时通信[在这里把你的语言]

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

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