我经常看到诸如“ Node.JS + socket.io教程”之类的标题。即使在我已购买的Node.js入门书中,它也告诉我下载socket.io,这样我就感到非常困惑。
它们之间有什么区别?为什么我不能仅使用Node.JS“ OR” Socket.io编写应用程序代码?如果我可以编码,为什么人们在标题中加上socket.io和node.js?
我真的很困惑,所以任何形式的答复都将不胜感激。
Socket.io是node.js上用于实时应用程序的框架。因此,如果要使用socket.io,则两者都是必需的。您可以编写自己的代码来执行相同的操作,但是socket.io是跨浏览器,并且通过使用它可以帮助您节省时间。
node.js
是一个平台。
[socket.io
只是用于处理websockets
的框架,如果您要在node.js
之上构建应用程序。
[socket.io
需要node.js
,但是node.js
不需要socket.io
编辑:Ryan Dahl(node.js的创建者)介绍视频确实具有启发性,并有助于解决此类混乱:http://www.youtube.com/watch?v=jo_B4LTHi3I
socket.io是一个库,是对node.js实际平台的补充。它就像计算机上的软件。没有计算机,您将无法使用软件。
Node.js-是负责语言的平台-使用V8的JavaScript可视化(JavaScript引擎将JS脚本解释为计算机可以理解的形式)。以及平台的许多其他组件。
尽管socket.io仅使用平台的功能,但实现了一些很酷的自身功能,这些功能是对节点的补充。它只是一个库,您可以与核心一起使用。
在现实世界中,它像胡佛一样-是一个node.js,而吸嘴是socket.io。当然,这是一个粗糙的例子,事情要复杂得多。但是如您所见,没有芯的喷嘴毫无意义。
Node.js使您的JavaScript使用自己的功能运行。尽管socket.io是您使用还是不使用的-您都可以选择。
我也在学习nodejs,socket.io,express等的敏捷性。到目前为止,我已经了解到,Nodejs是使用诸如node servercode.js等之类的node命令托管整个项目(可以同时在客户端和服务器端)的重要基础。它可以为websockets服务器,Http服务器甚至https服务器打开端口。
但是socketio以异步事件驱动的方式在客户端和服务器端之间提供了通信链接(请考虑ajax)。>>
希望有帮助