Node.js和socket.io混淆
我经常看到像“Node.JS + socket.io教程”这样的标题。 即使在我购买的Node.js初学者书中,它也会告诉我要下载socket.io,所以我感到非常困惑。
他们之间有什么区别? 为什么我不能使用Node.JS“或”Socket.io编写我的应用程序? 如果我可以编码,为什么在标题中的人socket.io加node.js?
我真的很困惑,所以任何forms的答复将不胜感激。
Socket.io是用于实时应用程序的node.js框架。 所以,如果你想使用socket.io,两者都是必需的。 你可以编码自己做同样的事情,但socket.io是跨浏览器,并使用它可以帮助您节省时间。
node.js
是一个平台。
如果你正在node.js
上构build一个应用, socket.io
只是一个处理websockets
的框架。
socket.io
需要node.js
但是node.js
不需要socket.io
编辑:Ryan Dahl(node.js的创作者)介绍video真的很有启发性,并有助于这种混乱: http : //www.youtube.com/watch?v=jo_B4LTHi3I
socket.io是一个库,除了node.js的实际平台之外。 它就像一个电脑软件。 没有电脑就不能使用软件。
Node.js – 是一个平台,关注语言 – 使用V8的JavaScript可视化(将JavaScript脚本解释为可理解的JS脚本到计算机)。 还有很多平台的其他组件。
虽然socket.io只是使用平台的function,但实现了一些很酷的自己的function,除了节点。 这只是一个图书馆,除了你使用的核心。
在现实世界中,它像hoover – 是一个node.js,而喷嘴是socket.io。 当然这是一个粗略的例子,事情要复杂得多。 但是正如你所看到的那样,喷嘴没有核心是毫无意义的。
Node.js使您的JavaScript使用自己的function运行。 而socket.io是你使用或不使用的东西 – 由你select。
我也在学习nodejs,socket.io,express等内容。 到目前为止我所了解的是,Nodejs是托pipe整个项目(可以在客户端和服务器端)的主要骨干,其节点命令就像> node servercode.js等一样。 它可以为websockets服务器,Http服务器甚至https服务器打开端口。
然而,socketio以asynchronous事件驱动的方式提供客户端和服务器端之间的通信连接(想想ajax)。
希望它有帮助