Mac环境下Leaf框架游戏服务器开发(二)- 网络通信
今回目- 网络通信
网络游戏自然离不开网络通信,这也作为Leaf的一个重要组成部分和消息通信机制紧密结合在一起。
首先要说的是,Leaf的通信地址和端口都配置在服务器工程的bin/conf/server.json 文件中
类似如下:
这里配置了TCP和WebSocket的通信地址,均为“127.0.0.1:3563”,其他的不用废话大家也能看得懂。
这里有一个好处,就是不管客户端用标准Socket TCP的连接方式还是WebSocket的连接方式,服务端的代码是一样的,不需要因为通信方式的改变而修改代码,这里当然是因为Leaf给封装好了,所以客户端随便得瑟。
剩下的就是客户端和服务器消息的接/发,这里找个最简单的逻辑,举个🌰。
1. 服务器:
跟一个简单消息有关的代码文件

1.1 msg.go文件中添加一个消息结构
1.2 并在init()方法中注册这个消息。
1.3 在router.go文件的init()方法中,指定刚才注册的消息要被哪个模块接收处理。
注意:模块间使用的是ChanRPC通讯
最后, 在指定模块下的handler.go文件进行消息逻辑的处理。
1.4 实现处理函数
1.5 init中注册处理函数
2. 客户端
这里客户端用的是Cocos Creator 1.9.1版本, JS脚本开发, websocket连接
不用废话,直接上代码,非常好理解。