2016-11-21 46 views
0

Socket.io提供一流的支持,通過使用rooms放出大量的郵件VS加入大量的房間

其中服務器傳送通知通過套接字的用戶我創建一個web應用程序,以解決特定的收件人。 IO。這是一個市場。用戶可能喜歡/購買/出售文章,因此當有事情發生變化時會從服務器收到通知。

現在我必須做出選擇,無論用戶是否加入他登錄時感興趣的每篇文章的空間,還是每次更改某些用戶時都會發送一條消息。

什麼是更有效率?有最佳做法嗎?我從錯誤的角度看待這個問題嗎?

回答

1

房間只是服務器上的一個構造,用於跟蹤套接字列表。當您廣播到一個房間時,所有socket.io代碼都會循環顯示套接字列表,並分別向每個套接字發送一條消息。

因此,在任何一種情況下,消息都會單獨發送到每個套接字 - 兩者都是相同的。如果用於跟蹤套接字組並且能夠容易地向每個套接字發送消息的機制是有用的並且用於您的目的,則使用房間。

如果您有一些理由想要使用自己的數據結構來跟蹤套接字列表,那麼也沒問題,並且不會再花費任何費用來循環它並向每個套接字發送消息因爲您有一個有效的方案來查找您想要發送消息的套接字。