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

看板C_and_CPP作者 (高毛毛)時間6年前 (2018/03/28 15:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
研究一個開源專案"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,看起來較為簡單, 效能可能會受影響。 以上是我所想到的方法。 請問有更好的結構,或者是方法可以系統效能及架構嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.167.253 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1522221235.A.A97.html
文章代碼(AID): #1Qkq2pgN (C_and_CPP)