进程A向进程B发送体积较大的数据, 多个socket快还是单个socket更快?

一般来说是开多个socket。开多个socket目的是开启多线程,把下载文件分块。这样对下载过来的数据的处理可以充分利用CPU多线程。当然,带宽是个主要因素。CPU已经比较快,影响较小。一般下载文件需要用多线程,因为服务器上每个socket分配的处理资源是平均的,所以开多个socket可以多占处理的资源,主要是IO。
■网友
假设存在掉包的话,肯定多线程快。
■网友
要看具体网络环境。假设AB之间理论带宽是10MB/s,如果一个socket不限速,光纤连接,能直接达到或接近10MB,就不用多个。如果一个socket限速,那就用多个。如果总带宽限速,那么多个socket也没用。
■网友
要看瓶颈在哪里


    推荐阅读