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

C# 寻找最佳实践:两个应用程序之间的文件浏览和下载通信,c#,.net,wcf,sockets,C#,.net,Wcf,Sockets,我很抱歉,如果这个问题是多余的,但我完全困惑,我需要一些建议,以获得最佳实践。这只是为了学习,但对我来说这很重要,因为我想知道如何以最好的方式做事 我想创建一个应用程序,让我通过Internet连接而不是lokal网络浏览第二台PC的文件系统。因此,在PC1上,我希望有一个小应用程序(App1),它以类似列表框的方式显示文件系统,带有简单的导航功能(双击打开文件夹和按钮,在文件系统中上升一级)和一个下载功能,让我从这台PC上下载一个文件,而在PC2上则是对应的功能(App2)与PC1上的应用程序

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

我想创建一个应用程序,让我通过Internet连接而不是lokal网络浏览第二台PC的文件系统。因此,在PC1上,我希望有一个小应用程序(App1),它以类似列表框的方式显示文件系统,带有简单的导航功能(双击打开文件夹和按钮,在文件系统中上升一级)和一个下载功能,让我从这台PC上下载一个文件,而在PC2上则是对应的功能(App2)与PC1上的应用程序交互的。App2读取文件系统并将文件夹和文件名发送给App1,App1要求App2获取特定文件

现在我要回答一些具体问题:

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

  • 如何在几个会话中下载一个大文件?如果连接中断,我想继续下载,而不是重新开始

  • 我希望有人能给我一个提示

    多谢各位


    CaptnCrash

    为此使用FTP协议。在第二台PC上安装并配置FTP服务器应用程序,然后在C#客户机代码中,使用类似的方法执行FTP协议工作

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


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

    FTP是否允许在断开连接后继续进行部分下载?只要FTP服务器支持大小扩展,您就可以这样做。如果您的FTP客户端库不支持部分下载,请使用它编写您自己的FTP代码。