java socket与Netty服务器通信

这篇初学者的技术博客探讨了如何使用Java Socket和Netty进行通信。内容包括ByteBuffer与ByteBuf的使用,强调了在ByteBuffer中写入数据大小的重要性以及调用flip()函数的必要性。此外,还介绍了如何利用ByteBuf实现与Netty服务器的无缝连接。
摘要由CSDN通过智能技术生成

java socket与Netty服务器通信

本人初学java,第一次学写技术博客:


ByteBuffer与ByteBuf

C/C++中在进行网络通信的过程中直接面对的是字节流或是字符流。java中网络通信的话面对的是缓冲区buffer。
ByteBuffer是来自于java.nio
ByteBuf是来自于io.netty.buffer 两者相互转换自然是可以的。ByteBuf的nioBuffer()方法可以得到ByteBuf对应的ByteBuffer.

使用ByteBuffer与Netty通信

在ByteBuffer 开始写入需要传输数据的大小

应用的背景是通过Socket 将一个自定义类传输到服务器,在服务器正确解析出这个类。
在传输的ByteBuffer的开始四字节存储要传输byte数组的长度,再将要传输的byte数组放入ByteBuffer中。
在接收端的相应的要在pipeline中加入两个处理函数
LengthFieldBasedFrameDecoder()              LengthFieldPrepender()

客户端

        if(socket == null)
            socket = new Sock
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值