我試圖實現ftp命令GET和PUT通過UNIX套接字進行文件傳輸,使用常用函數如fread(),fwrite(),send()和recv()。無法通過unix tcp socket發送二進制數據
它工作正常的文本文件,但對於二進制文件失敗(DIFF說:「二進制文件不同」)
就下列任何建議將理解:
- 是否有任何特定的命令讀取和寫入二進制數據?
- 可以使用diff比較二進制文件嗎?
- 是否有可能發送二進制部分的內存塊?
我試圖實現ftp命令GET和PUT通過UNIX套接字進行文件傳輸,使用常用函數如fread(),fwrite(),send()和recv()。無法通過unix tcp socket發送二進制數據
它工作正常的文本文件,但對於二進制文件失敗(DIFF說:「二進制文件不同」)
就下列任何建議將理解:
FTP協議有兩種操作模式:文本和二進制。 嘗試在任何FTP客戶端 - 我相信用於切換的命令是ASCII和BIN。文本模式隻影響我在CR/LF對上的記憶。
我正在模擬使用unix TCP套接字的FTP行爲,因此我想知道是否有任何方法可以通過簡單的unix套接字傳輸二進制文件 – abcdxyz 2011-04-26 11:59:53
@abcdxyz您必須告訴FTP服務器哪種模式您希望以文本或二進制文件的形式發送/接收文件。 – nos 2011-04-26 13:22:29