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