Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS中SocketIO和EventEmitter之间的相似性/差异_Node.js_Eventemitter_Socket.io - Fatal编程技术网

Node.js NodeJS中SocketIO和EventEmitter之间的相似性/差异

Node.js NodeJS中SocketIO和EventEmitter之间的相似性/差异,node.js,eventemitter,socket.io,Node.js,Eventemitter,Socket.io,我对nodejs中的Socket.io和EventEmitter API有点混淆。是的,我对事件驱动的NodeJS编程非常陌生。这两者之间有什么显著的区别吗?还是一个已经取代了另一个?它们的设计目的是相同的还是不同的? 任何示例/资源链接,说明它们之间的差异都很好 您不应该比较EventEmitterAPI和Socket.IO,因为它们是完全不同的东西,除了Socket.IO在服务器端和客户端都使用事件之外,它们是不相关的 EventEmitterAPI用于任何发出事件的对象,例如HTTP服务器

我对nodejs中的Socket.io和EventEmitter API有点混淆。是的,我对事件驱动的NodeJS编程非常陌生。这两者之间有什么显著的区别吗?还是一个已经取代了另一个?它们的设计目的是相同的还是不同的?

任何示例/资源链接,说明它们之间的差异都很好

您不应该比较
EventEmitter
API和Socket.IO,因为它们是完全不同的东西,除了Socket.IO在服务器端和客户端都使用事件之外,它们是不相关的

EventEmitter
API用于任何发出事件的对象,例如HTTP服务器、流、文件操作等。它们的使用方式如下:

var EventEmitter = require('events').EventEmitter;
// create a new instance
var em = new EventEmitter();

// attach a handler to an event named "event"
em.on('event', function() {
});

// fire the "event" event
em.emit('event');
另一方面,Socket.IO是跨浏览器实时数据传输的库。它用于将数据从客户端发送到服务器,或从服务器发送到客户端

// on the server side
var io = require('socket.io');
io.sockets.on('connection', function(socket) {
  socket.emit('event');
});

// on the client side
var socket = io.connect();
socket.emit('data');

阅读有关异步编程的更多信息,
socket.io
使用
EventEmitter
进行事件
连接
断开连接
,等等。。不要将类与包进行比较。@GeoPhoenix ohh。。。好的,谢谢你的建议。它将流与事件混合在一起,谢谢你的朋友。。。因为任何疑问都是没有可靠知识的疑问。。这两件事我都要亲自动手。你能为socket.io推荐一些好书或资源吗?我需要更多关于它的知识。文档是最好看的地方,也是他们Github上的。我们能使用EventEmitter从服务(微服务体系结构)发出事件,并使用socket.io从另一个服务监听该事件吗?