进程A向进程B发送体积较大的数据, 多个socket快还是单个socket更快?
一般来说是开多个socket。开多个socket目的是开启多线程,把下载文件分块。这样对下载过来的数据的处理可以充分利用CPU多线程。当然,带宽是个主要因素。CPU已经比较快,影响较小。一般下载文件需要用多线程,因为服务器上每个socket分配的处理资源是平均的,所以开多个socket可以多占处理的资源,主要是IO。
■网友
假设存在掉包的话,肯定多线程快。
■网友
要看具体网络环境。假设AB之间理论带宽是10MB/s,如果一个socket不限速,光纤连接,能直接达到或接近10MB,就不用多个。如果一个socket限速,那就用多个。如果总带宽限速,那么多个socket也没用。
■网友
要看瓶颈在哪里
推荐阅读
- tcp通讯时,发送30多个1024的包到客户端,中间有包的大小不对,为啥
- 安卓后台进程经常被杀是一种怎么样的体验
- 咋做体积雾 unity shader
- 为啥我软件点了结束任务,但是进程仍然在进行
- 同治■这场重量级医学年会在扬州举行,聚焦“脑心同治”的中西医结合防治进程
- 无锡举行长三角一体化进程中的江南运河文化高层论坛
- 微信公众号为啥没有预览功能
- 怎样评价脉脉?
- 待后阅读的文章怎样利用ifttt全文发送到evernote
- 注册Facebook,验证手机号码时收到的验证码发送方为啥是中国嘉兴的
