关于java NIO socket处理粘包 断包问题

NIO socket是非阻塞的通信模式,与IO阻塞式的通信不一样点在于NIO的数据要经过channel放到一个缓存池ByteBuffer中,而后再从这个缓存池中读出数据,而IO的模式是直接从inputstream中read。因此对于NIO,因为存在缓存池的大小限制和网速的不均匀会形成一次读的操做放入缓存池中的数据不完整,便造成了断包问题。同理,若是一次性读入两个及两个以上的数据,则没法分辨两个数据
相关文章
相关标签/搜索