使用并行TCP连接进行较慢的数据传输

时间:2016-10-12 19:02:18

标签: objective-c sockets networking tcp asyncsocket

我使用TCP AsyncSocket使用本地连接(使用主机作为本地IP地址)将大文件从一台计算机传输到另一台计算机。

首先,我为单个TCP套接字连接做了设置,感觉数据传输速度很慢。它大约1mb / sec。

为了加快速度,我创建了10个TCP套接字(在不同的线程上的不同端口上连接)并开始同时读取文件的分区。但它没有任何区别。传输速率几乎与单个TCP套接字连接相同(甚至更慢)。

有什么想法吗?为什么多个TCP套接字不能并行传输数据?有什么方法或建议通过TCP快速传输文件?

1 个答案:

答案 0 :(得分:4)

并行化I / O操作仅在I / O通道未饱和并且任务是单核绑定时才有用。

很可能,添加额外的I / O频道实际上会减慢速度,因为现在有多个客户端竞争稀缺资源。

你需要弄清楚你的瓶颈在哪里?只有在量化了实际导致性能问题的原因后,您才能解决问题。