阻塞IO,在大量客户端连接时候,频繁地增加线程,会造成大量的资源消耗
非阻塞IO,通过一个线程维护大量客户端的注册
线程优化前 创建2000客户端连接服务器,服务需要创建4000+线程来处理每个客户端的读取与写入,很多线程长时间处于阻塞状态,非常低效
通过线程池优化后,创建2000客户端连接服务器TCP是可靠的,保证数据的完整性,本身不存在粘包。这里的消息粘包是指数据处理而不是传输时候的粘包。
TCP是可靠的,保证数据的完整性,本身也不存在丢失的可能,也是指的数据处理层面的消息不完整。 指的是如缓冲区空间不够而误以为已经接收完成,造成的数据不完整,或者因为网络等原因,数据包还未完整送达,而接收方误以为已经传输完成,进行了后续消息处理的步骤,从而造成消息不完整。
对数据包进行分析,构建一个数据头部,其中包含要接收此数据的大小,特征等,数据头 + 数据体 = 完整数据包
文件传输成功进行MD5校验无误