static void Subscribe(Session session, ANetChannel channel) { //优先处理完接收的包 if (sendCount - recvCount > 0) { //if (stopwatch.ElapsedMilliseconds > 5000) //{ // sendCount = 0; // recvCount = 0; // stopwatch.Restart(); //} return; } if (!channel.Connected) { return; } var send = new Packet { Data = Encoding.UTF8.GetBytes("111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999") }; for (var i = 1; i <= 10; i++) { sendCount++; session.Subscribe(send, (packet) => { successful++; recvCount++; var data = Encoding.UTF8.GetString(packet.Data); if (data != "111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999") { Console.WriteLine($"解包出错:{data}"); } if (recvCount % 10 == 0) { sendCount = 0; recvCount = 0; LogRecord.Log(LogLevel.Info, "数据响应测试", $"响应:{10}个包耗时{stopwatch.ElapsedMilliseconds}毫秒"); Thread.Sleep(100); stopwatch.Restart(); } }); } }
static void Subscribe(Session session, ANetChannel channel) { //优先处理完接收的包 if (sendCount - recvCount > 0) { if (stopwatch.ElapsedMilliseconds > 5000) { sendCount = 0; recvCount = 0; stopwatch.Restart(); } return; } if (!channel.Connected) { return; } var send = new Packet { Data = Encoding.UTF8.GetBytes("111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999") }; for (var i = 1; i <= 1000; i++) { sendCount++; session.Subscribe(send, (packet) => { recvCount++; var data = Encoding.UTF8.GetString(packet.Data); //BitConverter.ToInt32(packet.Data, 0); //Console.WriteLine($"接收数据包:{data}"); if (data != "111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999") { Console.WriteLine($"解包出错:{data}"); //Console.Read(); } if (recvCount % 1000 == 0) { //Console.WriteLine($"当前线程ID:{Thread.CurrentThread.ManagedThreadId}"); LogRecord.Log(LogLevel.Info, "数据响应测试", $"响应:{1000}个包耗时{stopwatch.ElapsedMilliseconds}毫秒"); Thread.Sleep(1000); stopwatch.Restart(); } }); } }