DotNetty学习(三)——应答服务(Echo)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/a1234012340a/article/details/92649538

总览链接:

https://blog.csdn.net/a1234012340a/article/details/91040073


应答服务本身和抛弃服务没有太大的区别。说白了就是在ServerHandler中向Client发包

具体如何实现直接上代码:

#region  应答服务
            var byteBuffer = message as IByteBuffer;
            try
            {
                if (byteBuffer != null)
                {
                    Console.WriteLine("Received from server: " + byteBuffer.ToString(Encoding.UTF8));
                    Console.WriteLine("Received from server1: " + byteBuffer.ReadByte());

                }
            }
            finally
            {
            }
            IByteBuffer initialMessage = Unpooled.Buffer(256);
            initialMessage.WriteBytes(Encoding.UTF8.GetBytes("收到了" ?? throw new InvalidOperationException())); // (2)
            context.WriteAsync(initialMessage); // (4)
            #endregion

其中需要注意几点:

1.message是ByteBuffer数据类型!!!(我在写的时候就曾经把message写成过string类型,导致没有严重报错,但是Client端接收不到消息)

2.Client端接收会自动转入Read中。需要自行打印,具体方法同服务端!

所以在此就不再重复发Client中的代码了。可以自行研究

在此给大家留一张运行过后的图:


完全个人研究,有错希望大神纠正。也可留下您的联系方式,共同探讨

——————————————————————————————————

作者:Henny_CHN

扫描二维码关注公众号,回复: 7573814 查看本文章

转载请标明出处,原文地址:  

https://blog.csdn.net/a1234012340a/article/details/92649538

如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作最大的动力,谢谢!

猜你喜欢

转载自blog.csdn.net/a1234012340a/article/details/92649538
今日推荐