我一直在理解socket.io究竟是什么,以及它在客户端和服务器之间的整体持久通信中的作用。我脑海中浮现的一些基本问题是:
谢谢:)
答案 0 :(得分:3)
Socket.IO服务器接受来自Socket.IO客户端的连接。这与任何其他服务器(如Apache等Web服务器)接受来自客户端的连接(例如Internet Explorer等Web浏览器)没有任何不同。
Node.js是一个建立在V8 JavaScript引擎之上的平台,它带有一个方便的库,通常用于Web和网络应用程序。 Socket.IO是一个类似于Web套接字的通信包装器和RPC,它使服务器和客户端能够通过各种传输进行通信(从长轮询JSON到真正的Web套接字)。通常,Socket.IO服务器代码在运行在Node.js之上的JavaScript应用程序中运行,而Socket.IO客户端在您的JavaScript上在Web浏览器上运行。 (请注意,您可以在Node.js应用程序中运行Socket.IO客户端,我过去曾将其用作多个Node.js应用程序之间的快速RPC。)
Socket.IO客户端可用于多种语言,是的,我相信有一个用于PHP,但我没有亲自使用它。
如果要与Socket.IO服务器通信,则必须使用Socket.IO客户端。这是一个独立的协议。
答案 1 :(得分: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)
答案 2 :(得分: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的目标是可靠性和易用性,并且尽最大努力:它为客户选择最佳的传输方式。
希望它有所帮助!