重构Pomelo游戏框架的Unity客户端

来源:互联网 发布:uri malformed 解决js 编辑:程序博客网 时间:2024/06/06 15:40

原Pomelo框架的Unity Demo有bug,无法正常运行。并且API回调在通信线程,使用起来极不方便。


重构版本对官方的API进行了重构,主要功能如下:

1. 所有方法的回调均在主线程(原PomeloClient回调在Socket线程,用起来很麻烦)
2. 增加了DisconnectEvent和ErrorEvent两个事件通知,方便捕捉网络断开事件和其它异常
3. 所有报文回调时,会收到一个Message对象而不是之前的仅仅是一个json对象。Message对象包含rawString和jsonObj属性,分别是原始字符串和转换后的Json对象。

4. 修复了EventManager内存泄漏的bug以及其它一些隐藏的代码问题。


原来的PomeloClient改名为Connection。新的Connection对象基本使用方法如下:

                /// 创建对象                _connection = new Connection();                /// 监听事件                _connection.on(Connection.DisconnectEvent, msg =>                {                    Debug.logger.Log("Network error, reason: " + msg.jsonObj["reason"]);                });                _connection.on(Connection.ErrorEvent, msg =>                {                    Debug.logger.Log("Error, reason: " + msg.jsonObj["reason"]);                });                /// 监听服务器推送的消息                _connection.on("onTick", msg =>                 {                    _onResponseRet(msg);                });                /// 连接并发送报文                _connection.InitClient("localhost", 3014, msgObj =>                {                    //The user data is the handshake user params                    JsonObject user = new JsonObject();                    _connection.connect(user, data =>                    {                        //process handshake call back data                        ......                        _connection.request("gate.gateHandler.login", msg, _onResponseRet);                    });                });

详细使用方法,请见Demo,下载链接:

http://download.csdn.net/detail/wyyayy/9535712


该Demo简单实现了一个聊天功能,效果如下图:




0 0
原创粉丝点击