2014-12-29 34 views
0

這樣的代碼是這樣的:socket.on()的次數太多

io.on("connection", function(socket){ 
    socket.on("channel1",function(data){}) 
    socket.on("channel2",function(data){}) 
    socket.on("channel3",function(data){}) 
    socket.on("channel4",function(data){}) 
    socket.on("channel5",function(data){}) 
}) 

,所以我創建了一個socket.io連接,它裏面有很多「插座」 S,我不知道這是好的,因爲它似乎我濫用它..有沒有在io.on()內創建這麼多套接字的任何不良後果?

+0

任何其他建議或評論家在我關閉之前? – Martian2049

回答

0

你在做什麼絕對沒有錯,但我認爲你有點誤解你的代碼的真正用處,以及socket.io是如何工作的。

Socket.io是webSocket API上方的一層,它允許您通過套接字發出和偵聽事件,以便您的服務器可以向客戶端發送事件,並且客戶端可以向您的服務器發送事件。客戶端實際上會發送一條消息,命令您的服務器端套接字對象發出相應的事件服務器端。

所以,你真的在​​做什麼,只是聽你命名爲「Channel1」,「Channel2」......在服務器端對象中發出的名爲socket的事件。這絕對沒有錯。

編輯:順便說一句,您實際上只創建了一個套接字對象。

+0

謝謝!只是想知道。它有其他用途。 – Martian2049

+0

是的,它有其他目的,你是對的。 Socket.io是一個不錯的節點包。 –