任何人都可以指向一個關於從客戶端到服務器打開連接,讀入二進制文件並通過網絡連接可靠地發送其內容的最佳方式的教程?更好的是,有沒有一個開源的庫已經可以做到這一點,我可以參考?使用C#通過網絡發送文件的最佳方式是什麼?
回答
您應該查看二進制序列化並通過TCP套接字發送它。在C#TCP客戶機/服務器上
http://www.dotnetspider.com/resources/408-XML-serialization-Binary-serialization.aspx
好底漆:對不同類型的系列化
很好的解釋
您可以製作TCP客戶端和服務器,並通過TCP發送消息。它在C#中非常瑣碎。
我這裏是一個簡單的TCP服務器:
有關使用HTTP或FTP http://www.goldb.org/goldblog/2007/07/27/CSimpleTCPServer.aspx
如何?他們是這樣做的。
亞歷
取決於你在哪裏發送的文件,你可能想看看WebClient.UploadFileAsync和WebClient.UploadFile。
我不會使用HTTP或FTP,對於單個文件來說,它的開銷太大,代碼太多,特別是在C#中幾乎已經爲您創建了一個簡單的TCP服務器。
這取決於你的意思是網絡 - 如果你在本地網絡上覆制,你可以在System.IO中使用文件複製操作。如果你想發送到遠程服務器,我使用Web服務來做到這一點。我壓縮字節數組並將它們發送並在遠程端進行解壓縮。字節數組非常容易使用流寫回到磁盤。
我知道有些人更喜歡base 64字符串而不是byte []。不知道它是否重要。
套接字可能是最好的途徑,如果你是隻需要通過網絡來完成。如果您使用TCP,您可以獲得通信的可靠性,但會影響速度。如果你需要更高的性能,你可以嘗試使用UDP。但是UDP的缺點是數據包傳送和訂單不能保證,所以你需要自己編寫所有的管道。
如果您需要通過網絡傳輸文件(以編程方式,並且如果您不能使用FTP),那麼通過MTOM的Web服務方式可能適合您的需求。
如果您正在構建Windows Server 2003 R2,Windows Vista或Windows Server 2008之上並進行內部網絡傳輸,另一個選項是利用新的Remote Differential Compression功能。這不僅在壓縮文件以最大限度地減少網絡流量方面做得很好,而且還可以直接用於DFS複製。下行(作爲.NET開發者),它是一種COM +技術。
- 1. 在Python中通過網絡發送對象的最佳方式是什麼?
- 2. 通過網絡調用函數的最佳方式是什麼?
- 3. 通過WCF發送通用庫的最佳方式是什麼?
- 4. 什麼是通過HTTP通過base64編碼發送文件的最佳方式
- 5. 通過派送發送java.lang.Class的最佳方式是什麼?
- 6. 通過jQuery發送PHP數組的最佳方式是什麼?
- 7. 什麼是通過MPI發送OPENCV Mat的最佳方式
- 8. 什麼是通過xls生成kml文件的最佳方式
- 9. 計算差異數據並通過網絡發送它的最佳方式是什麼?
- 10. 通過網絡管理Git的最快捷方式是什麼?
- 11. 通過PHP將xml文件發送到URL的最佳方式
- 12. 通過PHP使用Twitter API的最佳方式是什麼?
- 13. 通過httpconnection使用片段的最佳方式是什麼?
- 14. 通過HTTPS或SSH使用Git的最佳方式是什麼?
- 15. 實現電子郵件發送的最佳方式是什麼?
- 16. 通過數據報包發送數組的最佳方式是什麼?
- 17. 通過PHP將NSData發送到MySQL的最佳方式是什麼?
- 18. 通過java套接字發送xml字符串的最佳方式是什麼?
- 19. 在網絡中使用openGL的最佳方法是什麼?
- 20. 通過網絡讀取和解析大型文本文件的最佳方式是什麼?
- 21. 過度裝配神經網絡的最佳方法是什麼?
- 22. 什麼是文件asp.net網絡系統的最佳和有效的方式
- 23. 編輯.mht(網絡存檔)文件的最佳方式是什麼?
- 24. 使用SDL/C++處理事件的最佳方式是什麼
- 25. 通過網絡發送文件夾
- 26. 從批處理文件發送電子郵件的最佳方式是什麼?
- 27. 使用php和gmail發送電子郵件的最佳方式是什麼?
- 28. 通過網絡發送數據的最快的C/C++技術?
- 29. 什麼是通過DSL發送數據的最佳塊大小
- 30. 什麼是使用用戶認證通過網絡sdk連接數據湖的最佳方式
第二個環節來自2001年,即使這個問題是新鮮的,這個環節還是很老的。這不是一個教程,是更多的代碼示例。 – YetAnotherRandomUser 2018-02-18 22:00:37