Example #1
0
        //	重写基类的方法,当消息到达时触发,这里收到消息后,在控制台输出收到的内容,并原样返回了客户端
        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);
        }
Example #2
0
        //	重写基类的方法,当消息到达时触发,这里收到消息后,在控制台输出收到的内容,并原样返回了客户端
        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
        }