簡體   English   中英

Socket.IO 4.0.1:通過 id 獲取套接字

[英]Socket.IO 4.0.1: Get socket by id

我用了

const my_socket = io.sockets.connected['YnwlYH-gCKT2K9jEAAAu'];

很多。

https://stackoverflow.com/a/24464450/1707015

它在 3.X 和 4.0.1 中是否損壞?

$ npm list socket.io
socket.io@4.0.1

$ npm list socket.io-client
socket.io-client@4.0.1
# Object.keys(io.sockets):
_events,_eventsCount,_maxListeners,sockets,_fns,_ids,server,name,adapter

# io.sockets.connected:
undefined

# io.sockets.connected['YnwlYH-gCKT2K9jEAAAu']:
TypeError: Cannot read property 'YnwlYH-gCKT2K9jEAAAu' of undefined
    at Socket.<anonymous> (/path:row:char)
    at processTicksAndRejections (internal/process/task_queues.js:86:5)

我可以使用版本 2(而不是 3 或 4)運行它:

$ npm install --quiet --save-dev socket.io@2.X socket.io-client@2.X

是的,這實際上是一個X - 用於最新的子版本。

你有任何重構說明嗎?

這個問題和答案可能是https://stackoverflow.com/a/66835961/1707015的(更新/更好)副本。 對不起,我現在才看到。 歸功於桑傑尼沙德。


const my_socket = io.sockets.sockets.get('YnwlYH-gCKT2K9jEAAAu');

“socket.io”:“^4.1.3”

nsp.sockets.get(socketid).join(roomId)
nsp.to(roomId).emit("message",{message : "something"})

它對我有用

暫無
暫無

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

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