2013-10-04 30 views
2

我在nodejs中的Socket.io和EventEmitter API之間有點混淆。是的,我在事件驅動的NodeJS編程方面很新穎。這兩者之間有什麼重大區別?還是一個已經取得了另一個?他們是爲了相同的目的還是不同的目的而設計的?
任何例子/資源鏈接,它們之間的差異說明會是不錯..NodeJS中的SocketIO和EventEmitter之間的相似/差異

+1

瞭解更多關於異步編程,'socket.io'使用'EventEmitter'事件'connection','disconnect'等。不比較階級對包.. – Gntem

+0

@GeoPhoenix喔...好吧謝謝你的建議地理位置.. – agpt

+0

它混合流與事件,http://stackoverflow.com/questions/16719282/how-does-socket-io-work – Gntem

回答

3

你不應該比較EventEmitter API和Socket.IO,因爲他們是完全不同的東西,是不相關的,除了一個事實,即插座。 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'); 
+0

感謝哥們......任何懷疑總是沒有聲音的懷疑知識..我會把這兩個手。你可以給socket.io建議一些好的書或資源,我需要更多關於它的知識。 – agpt

+0

該文檔是最好的地方,以及他們的Github上的[wiki](https://github.com/LearnBoost/socket.io/wiki)。 – hexacyanide