请问nio中对于断包的处理,断包数据应该存放在哪里?
最近想用nio实现长连接,为了解决断包和粘包的问题,大体思路如下:
数据格式:消息头(4字节)+消息体
服务端接收到数据,判断是否是断包,如果是,则将该断包存储,然后继续下一次接收数据,然后将这两个数据合并,再读取
现在的问题是,当我只有一个连接时,我可以将数据存储进类的成员变量中:
但是当我有两个连接时,这两个连接的断包都会存储进这个缓冲区,造成数据污染,所以想问问一般这种断包数据怎么存放?
数据格式:消息头(4字节)+消息体
服务端接收到数据,判断是否是断包,如果是,则将该断包存储,然后继续下一次接收数据,然后将这两个数据合并,再读取
现在的问题是,当我只有一个连接时,我可以将数据存储进类的成员变量中:
public class NIOServer {
//存放断包的缓冲区
ByteBuffer cacheBuffer = ByteBuffer.allocate(100);
}
但是当我有两个连接时,这两个连接的断包都会存储进这个缓冲区,造成数据污染,所以想问问一般这种断包数据怎么存放?
...全文
相关推荐
Mina断包,粘包处理(完整实例,有客户端,服务端)
**断包**: 当数据在网络中传输时,可能会因为各种原因(如网络拥塞、数据包大小限制等)被分割成多个部分,这些部分在网络中独立传输,到达接收端时,如果没有正确处理,可能会导致数据不完整,这就是所谓的“断包
蔚来汽车:新能源的冰与火之歌.pdf
NIO House不仅是销售点,更是品牌与用户互动的平台,这种用户中心的商业模式为蔚来汽车塑造了一个全新的“用户品牌”。
java nio 包读取超大数据文件
### Java NIO 处理超大数据文件的知识点详解#### 一、Java NIO简介Java NIO(New IO)是Java平台上的新输入/输出流API,它提供了与传统IO(即Java IO)不同的数据处理方式
蔚来汽车:Q2业绩持续向好,交付量再创新高.pdf
蔚来将在挪威推出一系列服务,包括NIO APP、NIO House、NIO Power等,显示出其在全球市场扩张的决心。【软件研发投入】蔚来加大了软件研发力度,计划在年底前扩大研发团队规模近一倍。
Android开发进阶之NIO非阻塞包
### Android开发进阶之NIO非阻塞包#### NIO非阻塞通讯方式解析在探讨Android DDMS源码中的NIO(Non-blocking I/O)非阻塞通讯方式时,我们首先需要理解NIO的基本概念及其在


Java SE
