我要建一个.网远程处理客户/服务器,将发射数以千计的文件,不同大小的(从几个字节的数百MB),和我想的一些反馈意见的最佳方法为实现这一目标。在我看来,有几个选择:

  • Serialize整个文件进入我的远程处理目和传输,在所有在一次,无论规模大小。这很可能是最快的,但是故障期间传输的需要,整个文件可以重新送交,同时有办法的简历。
  • 如果文件的尺寸大于一些小的(像4KB),它分解成4KB块和远程的那些,重新组装在服务器上。除了复杂的,这是较慢,因为继续圆的旅行和确认,虽然有故障的任何一块不会浪费太多的时间。
  • 包括像一个FTP或蔽的服务器我应用程序的客户将通知服务,这是开始采用远程处理,上载的文件,然后使用远程处理通知的完成。我想包含一切都在我的程序,而不是要求一个单独的FTP服务,但是我打开这个选择,如果它的需要。
  • 使用某种类型的说明,TCP连接或WPF或一些其他的传输方法,建立处理的故障或者是能够做一些检查点/恢复。
  • 任何其他人我失踪了?

什么是最具灵活性/可靠的传输方法?我不是关心的速度,但更多的可靠性-我想要的文件的移动,即使是缓慢的。由于客户和服务器将是多线程,我可以传输的多个文件的同时如果连接允许它。

谢谢你的意见-我会扔在一个赏金获得的一些建议方面人们会完成这一任务。

有帮助吗?

其他提示

虽然calmh不会回答这个问题你要从OSI4层面的生活,我觉得更像是你要找更多的是在应用层在你的问题。TCP肯定不处理一切从延迟,传windows等网络侧的生活。然而,它并不直接确定发生什么,如果一个用户结束一下会过早地,然后决定把它捡起来之后他们离开的地方。

来回答你的问题,从不同的角度,我肯定会推荐分块的文件成部分,并编制索引他们对所有连接,无论速度。然后,他们可以是重新组装再次在客户一旦整个文件下载。这允许用户暂停下载的会议和简历。

作确定速度,有可能方法的预先建立的这样做,但一个方法可以使用只是建立自己的速度测试:发1兆要的客户(上传),并将它发送一个反应,一旦收到。1100分的时候,它得到了回响应客户,是KB/s它需要对客户下载服务器。反之亦然,以测试载的客户。

尽送,我建议利用现有技术。 支持验证的加密数据传送。它基本上是FTP,但在SSH。应该有Api可用的地方相互作用。

在一个侧面说明,我从来没有做过任何事情只要你谈谈,但我希望我的想法至少给你几个选项可以考虑。

这是什么TCP本身是为,并调整为在几十年的或硬的测试。远程处理的是由小型RPC调,不大型文件传输。你应该简单地使用TCP socket用于传送数据,并让我们较低层的协议担心的等待时间、传输windows的,等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top