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

原创 2016年05月30日 19:21:48

原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简单实现了一个聊天功能,效果如下图:




pomelo踩坑记

pomelo是网易出的一款网游服务器框架,使用nodejs编写。网址:http://pomelo.netease.com/ ,github:https://github.com/NetEase/pom...
  • comhaqs
  • comhaqs
  • 2017年04月26日 11:26
  • 891

Pomelo+unity3d采坑日志

区分你要用socketio的还是原生的,服务器要配合支持的,如果服务器不支持socketio,那么不能用。而且官方的socketio 试了下不能用。推荐原生 官方原生的dll不能用。可以用他demo里...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

网易游戏服务器开发框架 Pomelo

授权协议:MIT 开发语言:JavaScript 操作系统:跨平台 开发厂商:网易 软件作者:谢骋超   http://www.oschina.net/p/pomelo o...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

pomelo client for server [pomelo 客户端模块化]

在学习pomelo是,客户端是node js写的,没有视图层,具个人所了解到的
  • JBBOY
  • JBBOY
  • 2014年06月21日 11:25
  • 6019

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

一个简单的例子教你如何使用zxing开源项目

本文将使用一个简单的例子,讲述如何使用zxing开源项目 先看看效果图: (功能:扫描商品的条形码,记录价格,再次扫描此码时可查询价格,也可以修改价格,删除记录) 准备工作 下...
  • Cocoos
  • Cocoos
  • 2015年02月21日 12:11
  • 707

Unity中protobuf的使用方法

在移动手机游戏开发中,目前Unity3D已成为比较主流的开发技术。 那么对于客户端服务器协议的打解包,我们有3中常用的处理方式: 1、自定义结构体:在协议中直接传输代码中自定义的结构体;这种方式的坏处...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:重构Pomelo游戏框架的Unity客户端
举报原因:
原因补充:

(最多只允许输入30个字)