socket.on('data', function(data)
{
console.log(socket.remoteAddress + ":" + socket.remotePort);
}
socket.on('close', function()
{
console.log(socket.remoteAddress + ":" + socket.remotePort);
}
來自數據處理程序的日誌顯示127.0.0.1:8000
。在關閉事件處理程序中獲取套接字的IP地址
來自關閉處理程序的日誌顯示爲undefined:undefined
。
我想保留使用IP:Port作爲密鑰的連接套接字列表。如果我不知道哪一個關閉了,我怎樣才能從列表中刪除它?關閉後,如何獲得封閉套接字的IP:端口?
我會重新考慮這一點。你不需要它。套接字事件爲您提供套接字,並且套接字在存在時爲您提供IP地址。如果沒有套接字,IP地址本身就沒用。地圖的用途是什麼? – EJP
會有其他數據與每個客戶端關聯,並且服務器偶爾需要寫入特定的客戶端(而不是響應套接字事件),所以我需要保留連接的客戶端列表,以便我可以單獨解決它們 –
然後,您需要找到套接字的一個屬性,該屬性在關閉時不會更改,以便爲您的集合建立索引。 – EJP