重构Pomelo游戏框架的Unity客户端
2016-05-30 19:21
639 查看
原Pomelo框架的Unity Demo有bug,无法正常运行。并且API回调在通信线程,使用起来极不方便。
2. 增加了DisconnectEvent和ErrorEvent两个事件通知,方便捕捉网络断开事件和其它异常
3. 所有报文回调时,会收到一个Message对象而不是之前的仅仅是一个json对象。Message对象包含rawString和jsonObj属性,分别是原始字符串和转换后的Json对象。
4. 修复了EventManager内存泄漏的bug以及其它一些隐藏的代码问题。
原来的PomeloClient改名为Connection。新的Connection对象基本使用方法如下:
该Demo简单实现了一个聊天功能,效果如下图:
重构版本对官方的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简单实现了一个聊天功能,效果如下图:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories