SocketJ和NodeJS中的EventEmitter的相似/差异

我在nodejs中的Socket.io和EventEmitter API之间有点混淆。 是的,我在事件驱动的NodeJS编程方面很新颖。 这两者之间有什么重大的区别? 或者一个已经取得了另一个? 他们是为了相同的目的还是不同的?
任何示例/资源链接,说明它们之间的差异将是很好的..

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

事件EventEmitter API被任何发出事件的事件所使用,例如HTTP服务器,stream,文件操作等。它们的使用方式如下:

 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');