Ymordem学习使用
生活随笔
收集整理的這篇文章主要介紹了
Ymordem学习使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Ymordem原理:
1開啟是由接收方開啟傳輸,接收方發(fā)送一個字符'C',然后進入等待(SOH)狀態(tài),如果沒有回應(yīng),就會超時退出。 2發(fā)送方開始時處于等待過程中,等待字符'C'。發(fā)送方收到'C'后,發(fā)送第一幀數(shù)據(jù)包,內(nèi)容如下: SOH 00 FF Foo.c NUL[123] CRC CRC (Foo.c為文件名,NUL[123]補0) 進入等待(ACK)狀態(tài)。 3接收方收到第一幀數(shù)據(jù)包后,CRC校驗滿足,則發(fā)送ACK。 4發(fā)送方接收到ACK,又進入等待“文件傳輸開啟”信號,即重新進入等待“C”的狀態(tài)。 上面接收方只是收到了一個文件名,現(xiàn)在正式開啟文件傳輸,Ymodem支持128字節(jié)和1024字節(jié)一個數(shù)據(jù)包。128字節(jié)以(SOH)開始,1024字節(jié)以(STX)開始。 5接收方又發(fā)出一個字符'C',開始準(zhǔn)備接收文件。進入等待“SOH”或者“STX”狀態(tài)。 6發(fā)送方收到字符'C'后,開始發(fā)送第二幀,第二幀中的數(shù)據(jù)存放的是第一包數(shù)據(jù)。內(nèi)容如下: (SOH/STX)(01序號)(FE補碼)(128/1024位數(shù)據(jù))(CRC校驗),等待接收方“ACK”。 7接收方收到數(shù)據(jù)后,發(fā)送一個ACK,然后等待下一包數(shù)據(jù)傳送完畢,繼續(xù)ACK應(yīng)答。直到所有數(shù)據(jù)傳輸完畢。… 8數(shù)據(jù)傳輸完畢后,發(fā)送方發(fā)EOT,第一次接收方以NAK應(yīng)答,進行二次確認。發(fā)送方收到NAK后,重發(fā)EOT,接收方第二次收到結(jié)束符,就以ACK應(yīng)答。最后接收方再發(fā)送一個字符'C'開啟另一次傳輸,發(fā)送方在沒有第二個文件要傳輸?shù)那闆r下,發(fā)送如下數(shù)據(jù):SOH 00 FF 00~00(共128個) CRCH CRCL,接收方應(yīng)答ACK后,正式結(jié)束數(shù)據(jù)傳輸。轉(zhuǎn)載于:https://www.cnblogs.com/simon-code/p/5669610.html
總結(jié)
以上是生活随笔為你收集整理的Ymordem学习使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 定时器实现的几种方式和r
- 下一篇: 最简单jquery轮播图效果