void onPacketCallback(Packet packet) { TestProto msg = packet.ToOBJ(typeof(TestProto)) as TestProto; Debug.LogError("cs msg:" + msg.a + "," + msg.b + "," + msg.c + "," + GHelper.toString <int>(msg.d.ToArray())); packet.mMetaPacket = null;//清除缓存 LuaObject lo = packet.ToLua("TestProto") as LuaObject; Debug.LogError("lua msg:" + lo.value <string>("a") + "," + lo.value <int>("b") + "," + lo.value <int>("c") + "," + GHelper.toString <int>(lo.value <int[]>("d"))); }
private void OnTestProtoCallBack(Role role, byte[] content) { TestProto proto = TestProto.GetProto(content); Console.WriteLine(string.Format("Id:{0} Name{1}", proto.Id, proto.Name)); proto.Id = 1002; proto.Name = "杨明"; role.Client_Socket.SendMsg(proto.ToArray()); }
public static TestProto GetProto(byte[] buffer) { TestProto proto = new TestProto(); using (MMO_MemoryStream ms = new MMO_MemoryStream(buffer)) { proto.Id = ms.ReadInt(); proto.Name = ms.ReadUTF8String(); } return(proto); }
/// <summary> /// 委托回调 /// </summary> /// <param name="protoCode"></param> /// <param name="buffer"></param> private void OnReceiveProtoCallBack(ushort protoCode, byte[] buffer) { Debug.Log("protoCode=" + protoCode); TestProto tmpprot = TestProto.GetProto(buffer); Debug.Log("tmpprotID=" + tmpprot.Id); Debug.Log("tmpprotName=" + tmpprot.Name); }
public void TestDynamic() { var myVal = new TestProto { Value = true }; byte[] serialized; using (var ms = new MemoryStream()) { Serializer.Serialize(ms, myVal); serialized = ms.ToArray(); } Assert.That(serialized, Is.Not.Null); }
private void OnRequestTest(Role role, byte[] buffer) { Console.WriteLine("客户端请求测试协议 "); TestProto proto = new TestProto(); proto.Id = 100; proto.Name = "Response"; proto.Price = 1200; proto.Type = 2; role.Client_Socket.SendMsg(proto.ToArray()); }
public void TestDynamic() { Program.ExpectFailure<Exception>(() => { var myVal = new TestProto { Value = true }; byte[] serialized; using (var ms = new MemoryStream()) { Serializer.Serialize(ms, myVal); serialized = ms.ToArray(); } Assert.IsNotNull(serialized); }, "Dynamic type is not a contract-type: Boolean"); }
public void TestDynamic() { Program.ExpectFailure <InvalidOperationException>(() => { var myVal = new TestProto { Value = true }; byte[] serialized; using (var ms = new MemoryStream()) { Serializer.Serialize(ms, myVal); serialized = ms.ToArray(); } Assert.NotNull(serialized); }, "Dynamic type is not a contract-type: Boolean"); }
void Update() { if (Input.GetKeyUp(KeyCode.A)) { UserDataProto ll = new UserDataProto(); SuperSocket.Instance.SendData <UserDataResultProto> (ll, GetData); } else if (Input.GetKeyUp(KeyCode.C)) { TestProto proto = new TestProto(); proto.data = "lklk"; SuperSocket.Instance.SendData <TestProto2>(proto, GetTest); } }
void Update() { if (Input.GetKeyDown(KeyCode.A)) { TestProto proto = new TestProto(); proto.Id = 100; proto.Name = "测试协议"; proto.Price = 66.6f; proto.Type = 80; //发送 NetWorkSocket.Instance.SendMsg(proto.ToArray()); } if (Input.GetKeyDown(KeyCode.B)) { Mail_Get_DetailProto proto = new Mail_Get_DetailProto(); NetWorkSocket.Instance.SendMsg(proto.ToArray()); } }
public static void Test() { TestProto testProto = new TestProto(); testProto.Account = "aaa"; testProto.Password = "******"; testProto.Dict["aa"] = "cc"; testProto.Adresses.Add("abc"); testProto.Adresses.Add("efg"); testProto.TestSubProto = new TestSubProto(); testProto.TestSubProto.Account = "uiop"; // LogCat.log(testProto); //序列化 byte[] data_bytes = testProto.Serialize(); //反序列化 TestProto obj = data_bytes.Deserialize <TestProto>(); LogCat.log(obj.Dict["aa"]); LogCat.log(obj.TestSubProto.Account); }
private void Update() { if (Input.GetKeyDown(KeyCode.A)) { TestProto proto = new TestProto(); proto.Id = 100; proto.Name = "测试协议"; proto.Type = 80; proto.Price = 99.5f; NetWorkSocket.Instance.SendMsg(proto.ToArray()); } //if (Input.GetKeyDown(KeyCode.S)) //{ // Send("你好,S"); //} //if (Input.GetKeyDown(KeyCode.D)) //{ // for (int i = 0; i < 30; i++) // { // Send("你好循环...." + i); // } //} }
void OnGUI() { if (GUI.Button(new Rect(0, 0, 100, 30), "建立连接")) { mClient = NetworkMgr.single.CreateClient(ClientType.Tcp, "") as Arale.Engine.TcpClient; mClient.Connect("127.0.0.1", null, 9527); } if (GUI.Button(new Rect(0, 30, 100, 30), "断开连接")) { mClient.Close(); } if (GUI.Button(new Rect(0, 60, 100, 30), "发送数据")) { TestProto msg = new TestProto(); msg.a = "arale"; msg.b = 1234; msg.c = 5678; msg.d.AddRange(new int[] { 1, 2, 3 }); mClient.send(1, msg); } if (GUI.Button(new Rect(0, 90, 100, 30), "LuaProto编解码测试")) { //根据proto源码实现 TestProto msg = new TestProto(); msg.a = "arale"; msg.b = 1234; msg.c = 5678; msg.d.AddRange(new int[] { 1, 2, 3 }); Packet pk = Packet.CreatePacket(1, msg); pk = Packet.CreatePacket(pk.mNetData); msg = pk.ToOBJ(typeof(TestProto)) as TestProto; Debug.LogError("msg:" + msg.a + "," + msg.b + "," + msg.c + "," + GHelper.toString <int>(msg.d.ToArray())); } if (GUI.Button(new Rect(0, 120, 100, 30), "LuaPB编解码测试")) {//网上通用方式 LuaRoot.single.mL.DoString(@" local rapidjson = require 'rapidjson' local t = rapidjson.decode('{""a"":123}') print(t.a) t.a = 456 local s = rapidjson.encode(t) print('json', s) ------------------------------------ local lpeg = require 'lpeg' print(lpeg.match(lpeg.R '09','123')) ------------------------------------ local pb = require 'pb' local protoc = require 'common/protoc' assert(protoc:load [[ message Phone { optional string name = 1; optional int64 phonenumber = 2; } message Person { optional string name = 1; optional int32 age = 2; optional string address = 3; repeated Phone contacts = 4; } ]]) local data = { name = 'ilse', age = 18, contacts = { { name = 'alice', phonenumber = 12312341234 }, { name = 'bob', phonenumber = 45645674567 } } } local bytes = assert(pb.encode('Person', data)) print(pb.tohex(bytes)) local data2 = assert(pb.decode('Person', bytes)) print(data2.name) print(data2.age) print(data2.address) print(data2.contacts[1].name) print(data2.contacts[1].phonenumber) print(data2.contacts[2].name) print(data2.contacts[2].phonenumber) "); } }