您的位置:首页 > 移动开发 > Unity3D

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

2016-05-30 19:21 639 查看
原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简单实现了一个聊天功能,效果如下图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息