[討論] 開源專案 websocketpp 實作 多房間聊天室

作者: smartjay (高毛毛)   2018-03-28 15:13:53
研究一個開源專案"websocket++"
此專案完成websocket server及client的連接實作,
他的broadcast_server實作多人在同一間群組聊天,
假設 server 有 A,B,C 三個client連線,A發出訊息給Server
再用迴圈把set內的使用者全部send一次。
https://goo.gl/5f1ohY
方法1
欲在此專案底下完成在同一個伺服器底下開"多個群組",
每個群組有自己的連線使用者,
想法建立單一個Server,用Map<string RoomName,set<connection_hdl> >的結構,
在使用者輸入房名,建立一個Room,檢查是否已經存在,若存在,則在其set.insert(),
不存在,建立一個新的Room,及Set.insert()。
此方法是一單個Server物件完成多群組聊天。
方法2
每有一個新的聊天群組,多開開一個 Therad,看起來較為簡單,
效能可能會受影響。
以上是我所想到的方法。
請問有更好的結構,或者是方法可以系統效能及架構嗎?
謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com