Node.js和socket.io混淆

问题描述 投票:24回答:4

我经常看到诸如“ Node.JS + socket.io教程”之类的标题。即使在我已购买的Node.js入门书中,它也告诉我下载socket.io,这样我就感到非常困惑。

它们之间有什么区别?为什么我不能仅使用Node.JS“ OR” Socket.io编写应用程序代码?如果我可以编码,为什么人们在标题中加上socket.io和node.js?

我真的很困惑,所以任何形式的答复都将不胜感激。

node.js socket.io
4个回答
24
投票

Socket.io是node.js上用于实时应用程序的框架。因此,如果要使用socket.io,则两者都是必需的。您可以编写自己的代码来执行相同的操作,但是socket.io是跨浏览器,并且通过使用它可以帮助您节省时间。


26
投票

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


2
投票

socket.io是一个库,是对node.js实际平台的补充。它就像计算机上的软件。没有计算机,您将无法使用软件。

Node.js-是负责语言的平台-使用V8的JavaScript可视化(JavaScript引擎将JS脚本解释为计算机可以理解的形式)。以及平台的许多其他组件。

尽管socket.io仅使用平台的功能,但实现了一些很酷的自身功能,这些功能是对节点的补充。它只是一个库,您可以与核心一起使用。

在现实世界中,它像胡佛一样-是一个node.js,而吸嘴是socket.io。当然,这是一个粗糙的例子,事情要复杂得多。但是如您所见,没有芯的喷嘴毫无意义。

Node.js使您的JavaScript使用自己的功能运行。尽管socket.io是您使用还是不使用的-您都可以选择。


0
投票

我也在学习nodejs,socket.io,express等的敏捷性。到目前为止,我已经了解到,Nodejs是使用诸如node servercode.js等之类的node命令托管整个项目(可以同时在客户端和服务器端)的重要基础。它可以为websockets服务器,Http服务器甚至https服务器打开端口。

但是socketio以异步事件驱动的方式在客户端和服务器端之间提供了通信链接(请考虑ajax)。>>

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.