2008-09-18 126 views

回答

3

您應該查看二進制序列化並通過TCP套接字發送它。在C#TCP客戶機/服務器上

http://www.dotnetspider.com/resources/408-XML-serialization-Binary-serialization.aspx

好底漆:對不同類型的系列化

很好的解釋

http://www.codeproject.com/KB/IP/tcpclientserver.aspx

+0

第二個環節來自2001年,即使這個問題是新鮮的,這個環節還是很老的。這不是一個教程,是更多的代碼示例。 – YetAnotherRandomUser 2018-02-18 22:00:37

0

如何?他們是這樣做的。

亞歷

0

我不會使用HTTP或FTP,對於單個文件來說,它的開銷太大,代碼太多,特別是在C#中幾乎已經爲您創建了一個簡單的TCP服務器。

2

這取決於你的意思是網絡 - 如果你在本地網絡上覆制,你可以在System.IO中使用文件複製操作。如果你想發送到遠程服務器,我使用Web服務來做到這一點。我壓縮字節數組並將它們發送並在遠程端進行解壓縮。字節數組非常容易使用流寫回到磁盤。

我知道有些人更喜歡base 64字符串而不是byte []。不知道它是否重要。

0

套接字可能是最好的途徑,如果你是隻需要通過網絡來完成。如果您使用TCP,您可以獲得通信的可靠性,但會影響速度。如果你需要更高的性能,你可以嘗試使用UDP。但是UDP的缺點是數據包傳送和訂單不能保證,所以你需要自己編寫所有的管道。

如果您需要通過網絡傳輸文件(以編程方式,並且如果您不能使用FTP),那麼通過MTOM的Web服務方式可能適合您的需求。

如果您正在構建Windows Server 2003 R2,Windows Vista或Windows Server 2008之上並進行內部網絡傳輸,另一個選項是利用新的Remote Differential Compression功能。這不僅在壓縮文件以最大限度地減少網絡流量方面做得很好,而且還可以直接用於DFS複製。下行(作爲.NET開發者),它是一種COM +技術。

相關問題