[讨论] 开源专案 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