我想问下 有没有按照get值 创建多个聊天室啊 我尝试了下 好像用户可以分组 但是消息不能按组发送 是把??
创建多个聊天室,建议用服务器来控制,或者客户可以选择进那个聊天室,服务器端做验证。
消息怎么发送,可以自己控制,在event.php这个函数里,主要是onMessage这个函数,组发送的话,就按照GateWay::sendToCurrentUid(json_encode(array('uid'=>$uid))."\n");循环调用发送给组成员
简单的方法是运行多个workerman-chat,即开多个websocket端口,这样每个聊天室一个和单独一个端口通讯。
如果想在同一台机器上运行多个workerman-chat,需要保证 每个workerman-chat目录的以下配置是不同的 workerman.conf.pid_file ChatWeb.conf.listen 的端口 ChatWorker.conf.listen 的端口 ChatGateway.conf.listen 的端口 ChatGateway.conf.game_worker 的端口与ChatGateway.conf.listen的一致 Monitor.conf.listen 的端口,也可以删除此配置 applications/Chat/Web/index.php 中的22行 链接ws的端口信息
亲测可行
当然也可以一个workeman运行多个 ChatGateway ChatWorker ,达到运行多个workerman-chat的目的
创建多个聊天室,建议用服务器来控制,或者客户可以选择进那个聊天室,服务器端做验证。
消息怎么发送,可以自己控制,在event.php这个函数里,主要是onMessage这个函数,组发送的话,就按照GateWay::sendToCurrentUid(json_encode(array('uid'=>$uid))."\n");循环调用发送给组成员
简单的方法是运行多个workerman-chat,即开多个websocket端口,这样每个聊天室一个和单独一个端口通讯。
如果想在同一台机器上运行多个workerman-chat,需要保证 每个workerman-chat目录的以下配置是不同的
workerman.conf.pid_file
ChatWeb.conf.listen 的端口
ChatWorker.conf.listen 的端口
ChatGateway.conf.listen 的端口
ChatGateway.conf.game_worker 的端口与ChatGateway.conf.listen的一致
Monitor.conf.listen 的端口,也可以删除此配置
applications/Chat/Web/index.php 中的22行 链接ws的端口信息
亲测可行
当然也可以一个workeman运行多个 ChatGateway ChatWorker ,达到运行多个workerman-chat的目的