簡體   English   中英

發射到socket.io 1.X名稱空間的特定空間

[英]Emitting to specific room of socket.io 1.X namespace

  • 我已經實現了許多socket.io命名空間,用戶可以根據其所在的頁面連接到該命名空間。

  • 將數據發送到特定的名稱空間:房間組合似乎需要多余的樣板。

  • 這是我當前設置命名空間並將事件發送到給定房間中的套接字的方式:


1)設置名稱空間

let newsNs = io.of('/news');
newsNs.on(CONNECTION, socket => {
    socket.join('political');
});

2)向/news命名空間和political空間中的套接字發出事件:

newsNs.in('political').clients((err, clients) => {
    clients.forEach(c => newsNs.connected[c].emit(EVENT, 'data'));
})

是否有一種更干凈,更簡潔的方式來發送到namespace:room組合中的所有套接字,而無需首先遍歷每個客戶端,然后從someNs.connected派生套接字?

一個簡單的newsNs.to('political').emit(payload)就足夠了。

http://socket.io/docs/rooms-and-namespaces/#joining-and-leaving為例。

暫無
暫無

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

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