2014-06-26 101 views
1

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

  • node.js和socket.io服务器是不同的做同样的事情吗?像lighthttpd和apache一样?
  • 为什么我应该使用socket.io服务器,如果我有node.js?
  • 我可以使用socket.io客户端与PHP等另一种服务器端编程语言吗?
  • 是否有使用socket.io客户端的替代方法?
  • 是socket.io客户端只是另一个用于websocket通信的JavaScript库吗?

谢谢:)

回答

1

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

Socket.io是node.js的

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

它的框架设计为双向交流,如果你想

我可以使用socket.io客户端与其他服务器端编程语言如PHP使用它呢?

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

是否有其他方法可以使用socket.io客户端?

很多,在[这里把你的语言]

是socket.io客户端只是另一个JavaScript的WebSocket的通信库谷歌的WebSocket /即时通讯?

Socket.io客户端是一个JavaScript库compatibile与socket.io服务器(其是JavaScript库,以及,仅在服务器侧,即Node.js的)

3

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

Node.js是一个构建在V8 JavaScript引擎之上的平台,它带有一个通常用于Web和网络应用程序的便捷库。 Socket.IO是一个类似于网络套接字的通信包装器和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服务器是不同的做同样的事情吗?

SocketIO实际上是一种I/O引擎,它允许在客户端和服务器之间进行实时通信,与传统的HTTP请求不同。

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

由于两者都是不同的,所以我们无法比较。

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

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

是否有其他方法可以使用socket.io客户端?

任何socketIO客户端实现都可以完成这项工作,因为他们连接到服务器。 但要小心异步通信方式,就像在Java或PHP中一样。

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

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

希望它有帮助!