簡體   English   中英

NodeJS中socket.io連接function中的“socket”有什么用?

[英]What is the usage of “socket” in socket.io connection function in NodeJS?

我正在學習如何在nodejs服務器中使用socket.io 我看到下面列出的示例,我想知道連接 function 的socket是什么? 是新的插座object嗎? 'id' 來自哪里? 我用谷歌搜索了它,但仍然不明白它的 function。 謝謝

代碼:

io.sockets.on('connection', function (socket) { //the socket in "function(socket)"
    socket.on('session_id', function (session_id) { socket.session_id = session_id; })
    setInterval(function() {
        socket.emit('date', {'date': new Date()});
    }, 1000);
}

讓我們稍微修改一下您的示例以刪除嵌套的 function。

function connectionHandler (socket) { 
    socket.on('session_id', function (session_id) { 
        socket.session_id = session_id; 
    })
    setInterval(function() {
        socket.emit('date', {'date': new Date()});
    }, 1000);
 }

 io.sockets.on('connection', connectionHandler)

在您的示例中, io.sockets是您的 socket.io 服務器。 io.sockets.on('connection', connectionHandler)注冊一個連接事件處理程序 function。

然后,只要客戶端(可能是在用戶瀏覽器中運行的代碼)連接,您的connectionHandler就會使用socket object 調用當前連接。

socket.on('session_id')設置一個事件處理程序來監聽從客戶端發送的消息emit('session_id','some message payload')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM