/// <summary> /// 对协议的编解码测试 /// </summary> private void TestCodec() { LoginReqMsg msg = new LoginReqMsg("123", "pwd"); ByteBuffer buff = new ByteBuffer(Codec.Encode(msg)); LoginReqMsg login = (LoginReqMsg)Codec.Decode(buff); Debug.Log(login.GetCommand()); Debug.Log(login.id); Debug.Log(login.pwd); }
public void OnClickDeserialize() { var loginMsg = new LoginReqMsg { Account = "account", Password = "******", Extra = "哈哈哈", }; var reqMsgBytes = MessagePackSerializer.Serialize(loginMsg); var reqMsgreqMsgObj = MessagePackSerializer.Deserialize <LoginReqMsg>(reqMsgBytes); var registerMsg = new RegisterReqMsg { Phone = "1350000", Authcode = "验证码", }; var fs = new FileStream(Path.Combine(Application.dataPath, "Resources", "Test2.bytes"), FileMode.Open); var _as = new byte[fs.Length]; fs.Read(_as, 0, _as.Length); fs.Close(); fs.Dispose(); var a = new CancellationTokenSource(); Debug.LogFormat("unity main {0}", Thread.CurrentThread.ManagedThreadId); var mainThreadTaskScheduler = TaskScheduler.FromCurrentSynchronizationContext(); Task.Run(() => { Debug.LogFormat("Main Task Thread [{0}]", Thread.CurrentThread.ManagedThreadId); var msgpackTask = new Task(async() => { Debug.LogFormat("MsgpackTask Task Thread [{0}]", Thread.CurrentThread.ManagedThreadId); await Task.Delay(100); var registerMsgBytes = MessagePackSerializer.Serialize(registerMsg); var deserializeMsg = MessagePackSerializer.Deserialize <RegisterReqMsg>(registerMsgBytes); text.text = string.Format("Account : {0}-{1}-{2}", reqMsgreqMsgObj.Account , reqMsgreqMsgObj.Password, reqMsgreqMsgObj.Extra); text2.text = string.Format("Account : {0}-{1}", deserializeMsg.Phone, deserializeMsg.Authcode); }); msgpackTask.Start(mainThreadTaskScheduler); var webTask = new Task(async() => { Debug.LogFormat("before await Thread [{0}]", Thread.CurrentThread.ManagedThreadId); await Wait(); Debug.LogFormat("after await Thread [{0}]", Thread.CurrentThread.ManagedThreadId); }); webTask.Start(mainThreadTaskScheduler); }, _cancellationTokenSource.Token); }
public void OnClickLogin() { freePlane.SetActive(true); tip.text = ""; if ((userName.text == "") || (userPass.text == "")) { tip.text = "请输入正确用户名或密码!"; } LoginReqMsg reqMsg = new LoginReqMsg(userName.text, userPass.text); // 发送登陆消息 ClientSocket.Instance().Send(reqMsg); Debug.Log("Send: " + reqMsg.ToString()); freePlane.SetActive(false); }
private void SendMsg(App app) { Task.Run(async() => { await Task.Delay(1000); do { var loginReq = new LoginReqMsg { Account = app.UdpClient.ConectionId.ToString(), Password = "******", SeqNumber = System.DateTime.Now.Millisecond, }; app.UdpClient.SendMessage(loginReq); await Task.Delay(16); } while (app.Status == App.AppStatus.Running); }); }
private void ClientAppTest() { Debug.DefaultDebugger = new Server.ServerConsoleDebugger(); MessageProcessor.DefaultSerializer = new Server.Serializer.MsgPackBitSerializer(); var messageProcessor = new MessageProcessor(); if (SynchronizationContext.Current == null) { SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); } messageProcessor.Run(TaskScheduler.FromCurrentSynchronizationContext()); UdpClient udpClient = new UdpClient(); udpClient.Run(IPAddress.Parse("192.168.0.128"), 8063); udpClient.OnRecvKcpPackage += messageProcessor.ProcessBytePackage; Task.Run(async() => { int count = 0; await Task.Delay(1000); Assert.False(udpClient.ConectionId == 0); var conv = udpClient.ConectionId.ToString(); while (count++ < 10000) { await Task.Delay(33); var msg = new LoginReqMsg { Account = conv, Password = "******", Extra = count.ToString(), SeqNumber = count, }; udpClient.SendMessage(msg); udpClient.SendMessage(msg); udpClient.SendMessage(msg); } await Task.Delay(600 * 1000); udpClient.Stop(); messageProcessor.Stop(); }); }
void OnLoginMsgResponse(MsgBase msg) { LoginReqMsg loginMsg = (LoginReqMsg)msg; Debug.Log(msg.GetCommand().ToString() + "/" + loginMsg.id + "/" + loginMsg.pwd); }
private void TestSend() { LoginReqMsg msg = new LoginReqMsg("666", "pwd"); ClientSocket.Instance().Send(msg); }