寻找最佳实践:2个文件浏览和下载应用程序之间的通信

时间:2011-02-01 07:02:12

标签: c# .net wcf sockets

如果这个问题多余,我很抱歉,但我总是很困惑,我需要一些最佳实践的建议。这只是为了学习目的,但对我来说这很重要,因为我想弄清楚如何以最好的方式做事。

我想创建一个应用程序,让我通过Internet连接浏览我的第二台PC的文件系统,而不是lokal网络。所以,在PC1上,我希望有一个小的应用程序(App1),它显示了类似于Listbox的文件系统,带有简单的导航(Doubleclick打开文件夹,按钮在文件系统中升级一个级别)和一个下载功能,让我们的我从这台PC下载文件,PC2是与PC1上的应用程序交互的对应物(App2)。 App2读取Fileysystem并将文件夹和文件名发送到App1,App1询问App2然后获取特定文件。

现在我需要具体问题:

  1. 通过互联网进行通信时,哪些技术最适合应用程序之间的通信? WCF?我自己的套接字连接协议?还有别的吗?

  2. 如何在多个会话中设法下载大文件?如果连接断开,我想恢复下载而不是重新开始。

  3. 我希望有人可以给我一个提示

    非常感谢

    CaptnCrash

1 个答案:

答案 0 :(得分:2)

使用FTP协议。在第二台PC上安装并配置FTP服务器应用程序,然后在C#客户端代码中,使用http://sourceforge.net/projects/dotnetftpclient/之类的东西来执行FTP协议工作。

或者,如果您确实需要加密通信,请使用HTTPS,这意味着在第二台PC上配置Web服务器,并使用System.NET类来实现Web客户端。

无论您做什么,都不要编写自己的协议,并利用现有的.NET库来处理较低级别的FTP或HTTP通信。