2012-05-09 51 views
0

我被分配在Windows平臺上編寫一個C++程序,以通過串口使用zmodem從遠程服務器檢索一個文本文件。幾乎與this guy一樣,但在窗口上。Zmodem用C/C++接收文件

這裏就是我堅持: 我可以使用串行電纜聊到服務器,但是當服務器發送它使用ZMODEM協議型的文件,使我看到服務器發送我 RZ \ R ** B00000000 \ r

所以我讀了spec爲zmodem協議,但我不明白如何開始接收文件。我根據規範中提到的header file發送ZRINIT。但文件傳輸沒有開始。

我的問題是這樣的。當發送文件的請求發給我並希望開始接收數據包時,我可以簡單地發送字節嗎?我可能發送了錯誤的代碼?在那種情況下,有一個如何編寫代碼的例子 我是否應該自己試着編寫一個協議並找到一個自動執行此操作的庫?如果是這樣,它存在的Windows?或者我應該尋找一個從命令行獲取輸入的通信程序?

我真的只需要一些建議就如何進行。

我讀過sexyz,但找不到下載頁面。

歡迎任何輸入。

UPDATE

我想通了一點關於協議。規範在第8節和第12節中提到發送者和接收者之間的交易是如何工作的。從我已經能夠正是DeCypher代碼像ZRQINIT,ZRINIT,ZFILE一些頭...例如

char ZRINIT[]={42, 42, 24, 66, 48, 49, 48, 48, 48, 48, 48, 48, 50, 51, 98, 101, 53, 48, 13, -118, 17,0} 

我仍然缺少很多即ZRP0S,ZRFIN。如果有人能夠找到這些字符串定義的鏈接,那麼這將對我有很大的幫助。

+0

您需要實現更多功能 - 請參閱[ZMODEM規範](http://pauillac.inria.fr/~doligez/zmodem/zmodem.txt)的詳細信息,尤其是,在文件傳輸部分... – Yahia

回答

0

http://www.synchro.net/docs/sexyz.txt這裏是代碼http://www.synchro.net/的鏈接。

現在看起來它叫做同步。

你也可以在那裏找到下載頁面,它也有一個Windows版本如果你需要,你也可以下載源代碼。

希望有所幫助。

+0

我很遺憾地說,性感並不是我要找的,因爲它沒有通過串口獲取文件,而只能通過trough – Mozly

+0

好的,今晚我會看看。幾年前我有類似的問題。需要挖掘一點。 – ervinbosenbacher

+0

我不介意爲第三方圖書館或應用程序支付費用,但我希望保持最低成本,因爲我只需要文件檢索而沒有別的。 – Mozly