XModem使用介于如下參數(shù)的協(xié)議:start_of_data、end_of_data、 neg_ack、wait_delay、start_delay、max_tries、packet_size。這些參數(shù)需要通信雙方認(rèn)定,標(biāo)準(zhǔn)的 XModem有一個(gè)標(biāo)準(zhǔn)的定義:然而,可以通過(guò)XModemConfig函數(shù)修改,以滿足具體需要。這些參數(shù)的使用方法由接收方發(fā)送的字符neg_ack 確定。這通知發(fā)送方其準(zhǔn)備接收數(shù)據(jù)。它開始嘗試發(fā)送,有一個(gè)超時(shí)參數(shù)start_delay;當(dāng)超時(shí)的嘗試超過(guò)max_ties次數(shù),或者收到接收方發(fā)送 的start_of_data,發(fā)送方停止嘗試。如果從發(fā)送方收到start_of_data,接收方將讀取后繼信息數(shù)據(jù)包。包中含有包的數(shù)目、包數(shù)目的 補(bǔ)碼作為錯(cuò)誤校驗(yàn)、packet_size字節(jié)大小的實(shí)際數(shù)據(jù)包,和進(jìn)一步錯(cuò)誤檢查的求和校驗(yàn)值。在讀取數(shù)據(jù)后,接收方會(huì)調(diào)用wait_delay,然后 想發(fā)送方發(fā)送響應(yīng)。如果發(fā)送方?jīng)]有收到響應(yīng),它會(huì)重新發(fā)送數(shù)據(jù)包,直到收到響應(yīng)或者超過(guò)重發(fā)次數(shù)的最大值max_tries。如果一直沒有收到響應(yīng),發(fā)送 方通知用戶傳輸數(shù)據(jù)失敗。