//发送协议数据到服务器 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); }
public void SerializeData(SendDataStruct data) { MemoryStream memStream = new MemoryStream(); ProtoBuf.Serializer.Serialize(memStream, data.instance); byte[] body = memStream.ToArray(); CMsg msg = new CMsg(); msg.dest = data.dest; msg.cmd = data.cmd; if (body != null && body.Length > 0) { msg.body = body; } //放在消息队列里面发 MessageStruct smsg = new MessageStruct(); smsg.dest = data.dest; smsg.cmd = data.cmd; smsg.body = (byte[])Serialize(msg); SendreceiveManage.getInstance().PushSendData(smsg); }
public void SerializeData(SendDataStruct data) { MemoryStream memStream = new MemoryStream(); ProtoBuf.Serializer.Serialize(memStream, data.instance); byte[] body = memStream.ToArray(); CMsg _nnn = new CMsg(); _nnn.dest = data.dest; _nnn.cmd = data.cmd; if (body != null && body.Length > 0) { _nnn.body = body; } //放在消息队列里面发 messageStruct smsg = new messageStruct(); smsg.dest = data.dest; smsg.cmd = data.cmd; smsg.body = PBParseManage.getSerialize <CMsg>(_nnn); NetWorkManage.getInstance().PushSendDataQueue(smsg); }
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 void preFireBnt(GameObject obj) { if ("netBnt" == obj.name) { Msg_2_2 msg = new Msg_2_2(); msg.aid = "Test02"; //先写死角色名 msg.zoneId = 1; //先写死1 SendDataStruct data = new SendDataStruct(2, 2, msg); NetWorkManage.SendData(data); } else { UILayerManage.getInstance().RemoveLayer(gameObject); } }
static void Main(string[] args) { StringDictionary sd = new StringDictionary(); sd.Add("key", "value"); sd.Add("key2", "value"); foreach (var kv in sd) { kv.ToString(); } Console.ReadLine(); SendDataStruct oStruct = new SendDataStruct(); oStruct.dwData = (IntPtr)61181; oStruct.strData = "TheString"; oStruct.cbData = Encoding.Unicode.GetBytes(oStruct.strData).Length; //IntPtr hWnd = FindWindow(null, "Fiddler - HTTP Debugging Proxy"); IntPtr hWnd = FindWindow(null, "Progress Telerik Fiddler Web Debugger"); Console.WriteLine("Fiddler Ptr :" + hWnd); Console.WriteLine("SendWMCopyMessage return :" + SendWMCopyMessage(hWnd, WM_COPYDATA, IntPtr.Zero, ref oStruct)); Console.ReadLine(); }
public void SerializeData(SendDataStruct data) { Debug.Log("SerializeData"); }
public static void SendData(SendDataStruct data) { IProtocolFactory factory = new ProtocolFactory(); factory.createProtocolType1().SerializeData(data); }
internal static extern IntPtr SendWMCopyMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref SendDataStruct lParam);
//发送数据给服务端 public static void SendData(SendDataStruct data) { CurrProtocolManage.getInstance().SerializeData(data); }