我正在使用 WebSocketServer。當新客戶端連接時,我需要將該客戶端的資料存盤為每個客戶端的自定義物件,并且我希望能夠將其存盤在 WebSocket 中,因此當服務器從該客戶端接收到新訊息時,我可以快速訪問我的自定義物件來自 WebSocket 本身。有什么方法可以做到這一點,還是我只需要為我的所有物件創建一個映射并每次根據它的 ID 從 WebSocket 查找物件?謝謝
uj5u.com熱心網友回復:
這個Map想法將用于查找每個連接的資料,但也沒有理由不能將自己的自定義屬性添加到 webSocket 物件。
wss.on('connection', socket => {
socket.userInfo = {someProperty: 'someValue'};
socket.on('message', data => {
console.log(socket.userInfo);
});
});
然后,只要您收到有關該物件.userInfo的訊息,該屬性就可用。socket
請記住,此資訊是暫時的,僅對socket物件的生命周期有用。因此,如果客戶端斷開連接并重新連接(例如在更改網頁時),則會生成一個新的套接字物件,該物件將不具有先前的.userInfo屬性。因此,如果該資訊需要保持比一個連接的生命周期更長的時間,您將不得不將其存盤在其他地方并通過一些持久的用戶屬性對其進行索引,而不僅僅是套接字物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522570.html
標籤:节点.js网络套接字
