因为TCP是基于数据流传送,和UDP不一样,它的数据没有边界控制,所以有时候服务端会一次接收客户端多次发送的数据。
我觉得可以这样解决,客户端在发送时,首先发送一固定长度的数据,例如4字节,用于表示后面实际数据的长度,然后再发送实际数据,同理,服务端在接受时,在接收长度为4字节的数据,并将里面的数据取出来,如里面为2001,则表示实际的数据有2001个字节,再去接收后面的数据。
我觉得可以这样解决,客户端在发送时,首先发送一固定长度的数据,例如4字节,用于表示后面实际数据的长度,然后再发送实际数据,同理,服务端在接受时,在接收长度为4字节的数据,并将里面的数据取出来,如里面为2001,则表示实际的数据有2001个字节,再去接收后面的数据。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货