// 重写基类的方法,当消息到达时触发,这里收到消息后,在控制台输出收到的内容,并原样返回了客户端 public override void ChannelRead(IChannelHandlerContext context, object message) { var service = new DeviceCommService(); var buffer = message as Message; logger.Info("收到报文:" + buffer.ToString()); //Console.WriteLine("收到报文:-------->" + JsonConvert.SerializeObject(loginResp)); Message response = new Message(); response.Sequence = buffer.Sequence > Int32.MaxValue - 1 ? 0 : buffer.Sequence + 1; switch (buffer.Type) { case HeadType.LoginRequest: Console.WriteLine("收到报文:-------->" + JsonConvert.SerializeObject(buffer.LoginRequest)); var loginResp = service.LoginRequest(buffer.LoginRequest); Console.WriteLine("LoginRequestResp-------->" + JsonConvert.SerializeObject(loginResp)); response.Type = HeadType.LoginResponse; response.LoginResponse = loginResp; break; case HeadType.PersonalSetRequest: Console.WriteLine("收到报文:-------->" + JsonConvert.SerializeObject(buffer.PersonalSetRequest)); var setResp = service.PersonalSetRequest(buffer.PersonalSetRequest); Console.WriteLine("PersonalSetRequest-------->" + JsonConvert.SerializeObject(buffer.PersonalSetRequest)); response.Type = HeadType.PersonalSetResponse; response.PersonalSetResponse = setResp; break; case HeadType.UploadRequest: Console.WriteLine("收到报文:-------->" + JsonConvert.SerializeObject(buffer.UploadRequest)); var upResp = service.UploadRequest(buffer.UploadRequest); Console.WriteLine("UploadRequestResp-------->" + JsonConvert.SerializeObject(buffer.UploadRequest)); response.Type = HeadType.UploadResponse; response.UploadResponse = upResp; break; default: break; } logger.Info("响应报文:" + response.ToString()); context.WriteAndFlushAsync(response); }
// 重写基类的方法,当消息到达时触发,这里收到消息后,在控制台输出收到的内容,并原样返回了客户端 public override void ChannelRead(IChannelHandlerContext context, object message) { var service = new DeviceCommService(); var buffer = message as Message; logger.Info("收到报文:" + buffer.ToString()); //Console.WriteLine("收到报文:" + buffer.ToString()); Message response = new Message(); response.Sequence = buffer.Sequence > Int32.MaxValue - 1 ? 0 : buffer.Sequence + 1; switch (buffer.Type) { case HeadType.LoginRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.LoginRequest)); var loginResp = service.HandleLoginRequest(buffer.LoginRequest); response.Type = HeadType.LoginResponse; response.LoginResponse = loginResp; break; case HeadType.KeepaliveRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.KeepaliveRequest)); var kpResp = service.HandleKeepaliveResponse(buffer.KeepaliveRequest); response.Type = HeadType.KeepaliveResponse; response.KeepaliveResponse = kpResp; break; case HeadType.PersonalSetRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.PersonalSetRequest)); var setResp = service.HandlePersonalSetRequest(buffer.PersonalSetRequest); response.Type = HeadType.PersonalSetResponse; response.PersonalSetResponse = setResp; break; case HeadType.UploadRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.UploadRequest)); var upResp = service.HandleUploadRequest(buffer.UploadRequest); response.Type = HeadType.UploadResponse; response.UploadResponse = upResp; break; case HeadType.MuscleStrengthRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.MuscleStrengthRequest)); var muscleResp = service.HandleMuscleStrengthRequest(buffer.MuscleStrengthRequest); response.Type = HeadType.MuscleStrengthResponse; response.MuscleStrengthResponse = muscleResp; break; case HeadType.ErrorInfoRequest: logger.Info("收到报文:-------->" + JsonConvert.SerializeObject(buffer.ErrorInfoRequest)); var errorResp = service.HandleErrorInfoRequest(buffer.ErrorInfoRequest); response.Type = HeadType.ErrorInfoResponse; response.ErrorInfoResponse = errorResp; break; default: break; } logger.Info("响应报文:" + JsonConvert.SerializeObject(response)); context.WriteAndFlushAsync(response); #region //var buffer = message as IByteBuffer; //if (buffer.ReadableBytes > 0) //{ // byte[] source = new byte[buffer.ReadableBytes]; // buffer.ReadBytes(source); // // logger.Info("收到报文:"+ ProtocolUtil.BytesToString(source)); // Console.WriteLine("收到报文:" + ProtocolUtil.BytesToString(source)); // byte[] response = parserTCPFrame.Parser(source); // //logger.Info("响应报文:"+ ProtocolUtil.BytesToString(response)); // Console.WriteLine("响应报文:" + ProtocolUtil.BytesToString(response)); // context.WriteAndFlushAsync(Unpooled.CopiedBuffer(response)); //} #endregion }