//解析协议信息 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); }
//解析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; }
//发送协议数据到服务器 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); }
//解析协议信息 private void ParseData(ReceDataStruct data) { //GDDirector.getInstance().getCurrentFactory().createProtocolType1().DeserializeData(data); IProtocolFactory factory = new ProtocolFactory(); factory.createProtocolType1().DeserializeData(data); }
public static void SendData(SendDataStruct data) { IProtocolFactory factory = new ProtocolFactory(); factory.createProtocolType1().SerializeData(data); //GDDirector.getInstance().getCurrentFactory().createProtocolType1().SerializeData(data); }
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); } }
public static void SendData(SendDataStruct data) { IProtocolFactory factory = new ProtocolFactory(); factory.createProtocolType1().SerializeData(data); }
//解析协议信息 private void ParseData(ReceDataStruct data) { IProtocolFactory factory = new ProtocolFactory(); factory.createProtocolType1().DeserializeData(data); }
private void initProtocolType() { IProtocolFactory factory = new ProtocolFactory(); iProtocol = factory.createProtocolType1(); }