多节点精简版聊天室示例 使用cherry引擎构建一个简单的多人聊天室程序 推荐使用GoLand IDE 本示例为h5客户端,使用pomelo-ws-client做为客户端sdk,连接类型为websocket,序列化类型为json 要求 GO版本 >= 1.17 操作步骤 克隆 git clone https://github.com/cherry-game/cherry.git 或通过github下面下载源码的方式。点击code按钮Download zip文件 调试 推荐使用GoLand打开源码 找到/examples/chat/目录 启动nats服务3rd/nat-server/run_nats.bat 启动master节点master/main.go 启动log节点log/main.go 启动room节点room/main.go 访问http://127.0.0.1:80 测试 从GoLand的Console面板可以看到,启动h5聊天室客户端的地址http://127.0.0.1:80 客户端连接服务器的websocket地址为ws://:34590 打开两个页面,在文本框中输入聊天内容并点击send按钮发送,两个页面将会收到聊天内容的广播 源码 log 目录为日志服节点(演示actor收发消息) master 发现服务, master节点 protocol 通信协议,json序列化 room 房间服节点(为了测试方便,包含了网关和web客户端) static目录为h5客户端静态文件,包含html和js版的客户端协议 配置 涉及的环境配置profile文件在 /examples/config/profile-chat.json profile-chat.json文件的注释通过@xxx表示,详见文件 关于actor model的使用 从room/main.go文件可得知,节点启动时通过pomelo.NewActor("user")创建了一个user actor. 该actor用于管理客户端连接. 通过app.AddActors(...)可得知,注册了roomactor,用于房间管理 如果需要创建多个聊天房间,可以通过room的子actor实现