2009-12-29 30 views
2

我需要通过.NET每秒钟将位于某个位置的文本文件从一台机器传输到另一台机器。 后来我再次需要转移。 请帮助我如何通过C#.NET获得成果机器对机器文件传输

+0

传输文件一次,第二多久定时器吗?出于什么目的。如果文件很大,这可能相当困难。你已经尝试了什么? – GrayWizardx 2009-12-29 05:49:16

+0

机器是在同一个还是不同的网络上? – A9S6 2009-12-29 08:58:16

回答

1

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

1

如果您在每台计算机上都有FTP服务器,则可以使用C# FTP Client Library

您可能还想考虑其中的一个P2P libraries(不需要FTP服务器)。

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

+0

如何处理FTP? – venkat 2009-12-30 05:29:23

+0

您需要在每台机器上配置一个FTP服务器。然后,您可以将C#FTP客户端库(参见我的答案中的链接)中的代码添加到您自己的程序中。这给了你一个类,你可以使用它来打开到远程机器的FTP连接并复制文件。客户端库随附演示代码,可以完全显示如何执行此操作。 – 2009-12-30 19:09:58

2

如果机器位于同一网络上,您可能还会尝试使用网络共享。然后,您可以使用\\machine\folder作为您的文件的目标文件夹,使用正常的File.Copy方法。

2

要将文件从机器A传输到机器B,您可以使用Copy方法。假设你拥有管理权限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); 
相关问题