基于流的数据传输:在基于流的传输(如TCP / IP)中,接收的数据被存储到套接字接收缓冲器中. 不幸的是,基于流的传输的缓冲区不是数据包的队列,而是字节队列. 这意味着,即使您将两个消息作为两个独立数据包发送,操作系统也不会把它们视为两个消息,而只是一堆字节. 因此,您无法保证您所读取的内容正是您远程发送信息时的正确切分. 例如,假设操作系统的TCP / IP堆栈已经收到三个数据包: 由于基于流的协议,读取的数据分片信息可能如下: 因此,无论服务器端或客户端如何,接收部分都应将接收到的数据进…