我使用 TCP AsyncSocket 通过本地连接(使用主机作为本地 IP 地址)将大文件从一台计算机传输到另一台计算机。
首先,我设置了单个 TCP 套接字连接,感觉数据传输速率很慢。大约 1mb/秒。
为了加快速度,我创建了 10 个 TCP 套接字(在不同线程上的不同端口上连接)并开始同时读取文件分区。但这没有任何区别。传输速率几乎与单个 TCP 套接字连接相同(甚至更慢)。
有什么想法吗?为什么多个 TCP 套接字不能并行传输数据?有什么方法或建议可以通过 TCP 快速传输文件?
最佳答案
并行化 I/O 操作仅在 I/O channel 未饱和且任务为单核限制时才有帮助。
很可能,添加额外的 I/O channel 实际上会减慢速度,因为现在有多个客户端争夺稀缺资源。
您需要弄清楚的是您的瓶颈在哪里?只有在量化了性能问题的实际原因后,您才能解决它。
关于objective-c - 并行 TCP 连接的数据传输速度较慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40006422/