NodeJS中SocketIO和EventEmitter之间的相似/差异

agp*_*gpt 4 node.js socket.io eventemitter

我很少在nodejs中的Socket.io和EventEmitter API之间混淆.是的,我是事件驱动的NodeJS编程的新手.这两者之间有什么显着差异吗?或者一个已经超过另一个?他们的目的是为了同一目的还是不同目的?
任何示例/资源链接,说明它们之间的差异将是很好的..

hex*_*ide 9

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

EventEmitterAPI由任何发射事件,例如,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');
Run Code Online (Sandbox Code Playgroud)

另一方面,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');
Run Code Online (Sandbox Code Playgroud)