我正在为大学项目开发软件。一个功能是可以将整个文件夹(未压缩)发送到LAN中的另一台主机(而不是通过互联网)。允许多个数据流,例如主机可以先发送文件夹,发送时可以开始发送文件,两者都会同时发送。
我的想法是通过FTP协议“ispired”:首先在控制连接上,“发送者”将要求端口建立数据连接,而不是传输将开始的数据连接。一切都是使用TCP协议完成的。
我对性能有疑问。假设我想发送一个大文件夹,最好是运行一个逐个发送文件的线程,还是在N个端口上打开N个线程(当然是在连接的两端)并同时发送多个文件? / p>
我肯定会选择第二个选项:并行性很酷。但后来我看到像Dropbox这样的云平台,当你更新文件夹时,会逐个更新文件。这提出了一个问题:在这个应用程序中,并行性是否更好?
为了完整起见,我使用C ++ 11和Boost :: filesystem在Windows和Linux上进行编程。