示例#1
0
    //解析协议信息
    private void ParseDataByPbManage(Stream source)
    {
        //CMsg cmsg = ProtoBuf.Serializer.Deserialize<CMsg>(source);
        //int cmd = cmsg.cmd;
        //int dest = cmsg.dest;
        //long serverTime = cmsg.serverTime;
        //byte[] body = cmsg.body;


        ////消息号保存进队列
        //PBNO _pb = new PBNO();
        //_pb.msg = cmsg;

        ////分发协议去解析
        //pbManage.ParseData(dest, cmd, body);

        //if (IsOftenData(dest, cmd))
        //{
        //    recDataScene.Enqueue(_pb);
        //}
        //else
        //{
        //    recDataQueue.Enqueue(_pb);
        //}

        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().DeserializeData(source);
    }
示例#2
0
    //解析protocol 协议
    public override void ParseData(string msgIndex, byte[] _data)
    {
        Debug.Log("解析了MDaccount");
        global::ProtoBuf.IExtensible retIE = null;
        switch (msgIndex)
        {
        case "Msg_2_2_":
        {
            //Msg_2_2_ cmsg = null;
            //if (_data != null) cmsg = ProtoBuf.Serializer.Deserialize<Msg_2_2_>(new MemoryStream(_data));
            //Fun_Msg_2_2_(cmsg);
            //retIE = cmsg;


            //Msg_2_2_ cmsg = (Msg_2_2_)GDDirector.getInstance().getCurrentFactory().createProtocolType1().Deserialize(_data);
            //Fun_Msg_2_2_(cmsg);
            //retIE = cmsg;
            IProtocolFactory factory = new ProtocolFactory();
            Msg_2_2_         cmsg    = (Msg_2_2_)factory.createProtocolType1().Deserialize(_data);
            Fun_Msg_2_2_(cmsg);
            retIE = cmsg;

            break;
        }
            //添加case 自动生成需要这行注释,不能删,不能改。
        }
        //return retIE;
    }
示例#3
0
    //发送协议数据到服务器
    public static void SendData <T>(int dest, int cmd, T instance) where T : global::ProtoBuf.IExtensible
    {
#if UNITY_EDITOR
        Debug.Log("要发送协议:dest=" + dest + ",cmd=" + cmd);
#endif

        //byte[] body = PBParseManage.getSerialize<T>(instance);
        //CMsg _nnn = new CMsg();
        //_nnn.dest = dest;
        //_nnn.cmd = cmd;
        //if (body != null && body.Length > 0)
        //{
        //    _nnn.body = body;
        //}

        ////放在消息队列里面发
        //SendPBMsg smsg = new SendPBMsg();
        //smsg.dest = dest;
        //smsg.cmd = cmd;
        //smsg.sendBody = PBParseManage.getSerialize<CMsg>(_nnn);

        //sendMemory.Add(smsg);


        SendDataStruct data = new SendDataStruct();
        data.dest     = dest;
        data.cmd      = cmd;
        data.instance = instance;

        IProtocolFactory factory = new ProtocolFactory();
        factory.createProtocolType1().SerializeData(data);
    }
示例#4
0
    //解析协议信息
    private void ParseData(ReceDataStruct data)
    {
        //GDDirector.getInstance().getCurrentFactory().createProtocolType1().DeserializeData(data);
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().DeserializeData(data);
    }
示例#5
0
    public static void SendData(SendDataStruct data)
    {
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().SerializeData(data);
        //GDDirector.getInstance().getCurrentFactory().createProtocolType1().SerializeData(data);
    }
示例#6
0
    void OnGUI()
    {
        if (GUI.Button(new Rect(10, 10, 100, 50), "连接测试"))
        {
            Debug.Log("开始连接");

            string ip   = "192.168.0.43";
            int    port = 6000;

            NetWorkManage s_NetWorkManage = NetWorkManage.getInstance();
            s_NetWorkManage.setHostPort(ip, port);
            if (!s_NetWorkManage.Connect())
            {
                Debug.Log("服务器连接失败,请检查网络!");
                return;
            }
        }

        if (GUI.Button(new Rect(150, 10, 100, 50), "登陆"))
        {
            //登录请求
            Debug.Log("登录请求");

            Msg_2_2 msg = new Msg_2_2();
            msg.aid    = "Test02"; //先写死角色名
            msg.zoneId = 1;        //先写死1

            SendDataStruct data = new SendDataStruct();
            data.cmd      = 2;
            data.dest     = 2;
            data.instance = msg;

            //NetWorkManage.SendData(2, 2, msg);
            NetWorkManage.SendData(data);
        }

        if (GUI.Button(new Rect(350, 10, 100, 50), "login"))
        {
            //登录请求
            Debug.Log("login界面");
            GameObject obj = UILayerManage.getInstance().CreateRoot("UILogin", "UILogin");
        }

        if (GUI.Button(new Rect(500, 10, 100, 50), "抽象工厂模式"))
        {
            IProtocolFactory factory = new ProtocolFactory();

            factory.createProtocolType1().DeserializeData(null);
            factory.createProtocolType2().DeserializeData(null);
        }
    }
示例#7
0
    public static void SendData(SendDataStruct data)
    {
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().SerializeData(data);
    }
示例#8
0
    //解析协议信息
    private void ParseData(ReceDataStruct data)
    {
        IProtocolFactory factory = new ProtocolFactory();

        factory.createProtocolType1().DeserializeData(data);
    }
示例#9
0
    private void initProtocolType()
    {
        IProtocolFactory factory = new ProtocolFactory();

        iProtocol = factory.createProtocolType1();
    }