Java Socket 读取TCP服务端数据包不完整

Java Socket 读取TCP服务端数据包不完整:除了利用数据包大小循环读取输入流的得到完整的数据外,还有其他什么方法?

数据包在网络传输的过程中,数据传递到客户端基本处于“无序”态。除了开辟一块内存按数据包的顺序存放外,还有其他更好的方案么?

TCP 因为是长连接的,肯定是有序的。数据接收不完整,这种现象在通讯中很常见的,是必须代码处理。

TCP是有序的吧?UDP才是无序的。

Tcp是连续,并有吃重传机制。

提问人的基础知识不扎实啊。

TCP是长连接,数据长度无限。
UDP是短连接,长度有限。

有序性:
TCP按发送的次序接受数据,在这个意思上是有序的。
UDP不按发送数据的次序接受数据,在这个意义上是无须的。