Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 机器到机器的文件传输_C# - Fatal编程技术网

C# 机器到机器的文件传输

C# 机器到机器的文件传输,c#,C#,我需要每隔一秒钟通过.NET将位于某个位置的文本文件从一台机器传输到另一台机器。 后来我又要求调任,反之亦然。 请帮助我如何通过C#.NET实现如果每台机器上都有FTP服务器,您可以使用 您可能还想考虑其中的一个(不需要FTP服务器)。< /P> 您是否能在可用时间内传输文件取决于文件大小和带宽,而不是您传输文件的方式,尽管某些协议的开销比其他协议大。如果计算机位于同一网络上,您也可以尝试使用网络共享。然后,您可以使用普通的文件.Copy方法将\\machine\folder用作文件的目标文件夹

我需要每隔一秒钟通过.NET将位于某个位置的文本文件从一台机器传输到另一台机器。 后来我又要求调任,反之亦然。
请帮助我如何通过C#.NET实现

如果每台机器上都有FTP服务器,您可以使用

您可能还想考虑其中的一个(不需要FTP服务器)。< /P>


您是否能在可用时间内传输文件取决于文件大小和带宽,而不是您传输文件的方式,尽管某些协议的开销比其他协议大。

如果计算机位于同一网络上,您也可以尝试使用网络共享。然后,您可以使用普通的
文件.Copy
方法将
\\machine\folder
用作文件的目标文件夹。

要将文件从机器a传输到机器B,您可以使用该方法。假设您对机器B具有管理权限,您可以使用以下代码每秒将文件从机器a复制到机器B:

ThreadPool.RegisterWaitForSingleObject(
    new ManualResetEvent(false), 
    (state, timedOut) => 
    {
        // TODO: error handling
        File.Copy("c:\someFile.txt", "\\machineB\c$\someFile.txt", true);
    }, 
    null, 
    TimeSpan.FromSeconds(1), 
    false);
如果您没有计算机B的管理权限,则可以使用共享:

File.Copy("c:\someFile.txt", "\\machineB\someShare\someFile.txt", true);

您还可以使用计算机类和计时器每1秒移动一次文件

每秒传输一次文件,持续多长时间?为了什么目的。如果文件很大,这可能会非常困难。您已经尝试了什么?这些机器是在同一个网络上还是在不同的网络上?您需要在每台机器上配置一个FTP服务器。然后,将C#FTP客户端库中的代码(请参见我答案中的链接)添加到您自己的程序中。这将为您提供一个类,您可以使用该类打开到远程计算机的FTP连接并复制文件。在客户端库中有演示代码,它精确地显示了如何执行此操作。