2010-05-05 62 views
0

我可以通過下面的代碼獲取文件名。我怎樣才能發送這個文件到遠程計算機。這臺遠程計算機IP:192.168.2.105還我可以使用51124端口如何將文件發送到遠程計算機?

class Program 
    { 
     static void Main(string[] args) 
     { 

      string[] dosyalarinYollari = System.IO.Directory.GetFiles(@"z:\20071008\1.2.392.200036.9116.2.6.1.48.1215563310.1191800303.305777\", "*.dcm", System.IO.SearchOption.AllDirectories); 
      foreach (string s in dosyalarinYollari) 
      { 
       Console.Write(s+"\n"); // i need to send tihs s file to remote machine 
      } 

      Console.ReadKey(); 
     } 
    }

回答

1

簡單File.Copy傳遞地點爲@「\ [IP] [驅動器] $ [文件夾]」就足以將其發送到遠程計算機,如果您有權登錄到該計算機。

我真的不知道有關位置字符串。

+0

,這是否需要文件和打印機共享進行安裝和驅動器被正確共享? – 2010-05-05 09:03:31

+1

@Adrian Grigore:是的,但確實如此,但OP沒有說明使用什麼協議。 @GxG:您在路徑中缺少一些反斜槓,並且使用像'c $'這樣的管理共享需要遠程主機的管理權限。 – 2010-05-05 09:06:49

+0

如果您以管理員身份登錄,則可以在沒有問題的情況下進行傳輸,前提是您是所有計算機上的管理員。如果您再次使用網絡登錄,則不會有太大問題,但可能會遇到登錄錯誤。沒有解決方案,只需要一個解決方法:在傳輸之前,使用以下命令運行Process.Start:net use \\ machinenameorip \ driveletter $/user:domain \ username密碼 – GxG 2010-05-05 09:08:38

5

目前幾乎沒有足夠的信息在這裏給你一個明確的答案,但我可以提一些方法。在計算機之間傳輸文件有很多種方式,每種方式都有優點和缺點。

  • Windows文件共享。正如GXG mentined,如果這是一個Windows(或SMB)環境,你有必要的權限,並啓用了文件共享,你可以嘗試\\ipaddress\share\filename.
  • 如果遠程機器是在互聯網上,或者文件共享是不可用的協議(如FTP)旨在將文件上傳到遠程計算機,但遠程計算機將需要運行FTP服務器。 .Net有用於FTP
  • 你可以滾你自己的監聽器監聽目標機器上的連接,並接收二進制文件流,並將其寫入到磁盤上的原生支持(因爲.NET 2.0)。
  • 如果您可以通過SSH連接到遠程計算機,則可以查看SCP電話以上載文件
  • 如果這是一個具有NFS共享的環境(例如遠程計算機可能是UNIX服務器)可以掛載到NFS並複製。

一些解決方案是比別人更容易。有些需要目標機器運行服務器。有些是僅適用於Windows,Unix的只有等,等

你能不能給我們你的環境,你爲什麼要做這個,等更多信息

+0

通過ip判斷,他想通過Intranet連接發送它,並通過代碼判斷他使用的是C#表單,因此是Windows環境。 FTP在Intranet上也可用,但它要複雜得多,如果安全性問題,SSH是一個不錯的選擇。 對於Win到Unix我會使用SSH,但我認爲我的方法也可以工作(從來沒有嘗試過,但理論上一切都在網絡的傳輸層上完成,因此操作系統不會成爲問題) – GxG 2010-05-05 09:20:25

+0

@GxG:其實該IP地址似乎屬於局域網。 192.168.0.0 - 192.168.255.255是爲局域網保留的。 – 2010-05-05 09:39:27

+0

intranet =內部網絡 通常使用路由器=> ips 192.168.xxx.xxx,默認情況下在大多數路由器上使用,或者使用交換機,在這種情況下,ips將是(默認情況下)10.xxx.xxx。 xxx – GxG 2010-05-05 10:00:45

相關問題