專利名稱::一種聯(lián)機(jī)通信的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,特別是涉及ー種聯(lián)機(jī)通信的方法和系統(tǒng)。
背景技術(shù):
:iOS(蘋果操作系統(tǒng))設(shè)備是使用iOS作為其操作系統(tǒng)的設(shè)備,包括iPhone、iPad、iPodTouch以及AppleTV等蘋果產(chǎn)品,Android(安卓)設(shè)備是使用Android作為其操作系統(tǒng)的設(shè)備。隨著iOS設(shè)備和Android設(shè)備的迅速普及,對(duì)iOS設(shè)備和Android設(shè)備的外部設(shè)備的使用也日益增多。目前,iOS設(shè)備和Android設(shè)備的外部設(shè)備的調(diào)試,通常是使用開發(fā)環(huán)境進(jìn)行直接聯(lián)調(diào)的。發(fā)明人在實(shí)行本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷由于iOS設(shè)備和Android設(shè)備分別使用iOS和Android作為其操作系統(tǒng),而上述兩種操作系統(tǒng)的專用性較強(qiáng),且沒有開發(fā)工具可以使用,因而導(dǎo)致對(duì)iOS設(shè)備上的外部設(shè)備和Android設(shè)備上的外部設(shè)備的調(diào)試過程非常繁瑣,效率也非常低。
發(fā)明內(nèi)容本發(fā)明提供了一種聯(lián)機(jī)通信的方法和系統(tǒng),用以解決現(xiàn)有技術(shù)中調(diào)試外部設(shè)備繁瑣的問題。本發(fā)明提供了一種聯(lián)機(jī)通信的方法,應(yīng)用于包括移動(dòng)設(shè)備、主機(jī)和外部設(shè)備的系統(tǒng)中,所述方法包括以下步驟Al、主機(jī)獲取用戶數(shù)據(jù);A2、所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;A3、所述主機(jī)將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;A4、所述移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;A5、所述移動(dòng)設(shè)備將解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;A6、所述移動(dòng)設(shè)備對(duì)所述指令進(jìn)行編碼;A7、所述移動(dòng)設(shè)備將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;AS、所述外部設(shè)備對(duì)接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,根據(jù)解碼得到的指令進(jìn)行相應(yīng)的處理;A9、所述外部設(shè)備對(duì)得到的處理結(jié)果進(jìn)行編碼;A10、所述外部設(shè)備將編碼得到的第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備;All、所述移動(dòng)設(shè)備對(duì)接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到所述處理結(jié)果;A12、所述移動(dòng)設(shè)備判斷所述處通結(jié)果是否正確,如果正確,則執(zhí)ィ了步驟A13;否貝U,執(zhí)行步驟A15;A13、所述移動(dòng)設(shè)備將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù);A14、所述移動(dòng)設(shè)備根據(jù)轉(zhuǎn)換得到的數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī),并執(zhí)行步驟A16;A15、所述移動(dòng)設(shè)備根據(jù)所述處理結(jié)果、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端ロ號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,并將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);A16、所述主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;A17、所述主機(jī)顯示解析結(jié)果。優(yōu)選地,所述主機(jī)獲取用戶數(shù)據(jù)之后,還包括所述主機(jī)判斷所述用戶數(shù)據(jù)中是否包含預(yù)設(shè)字符;所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,具體為當(dāng)所述用戶數(shù)據(jù)中包含預(yù)設(shè)字符時(shí),所述主機(jī)根據(jù)所述預(yù)設(shè)字符在所述用戶數(shù)據(jù)中的位置,將所述用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段,從拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段,根據(jù)選取的數(shù)據(jù)段、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;當(dāng)所述用戶數(shù)據(jù)中不包含預(yù)設(shè)字符時(shí),所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;所述主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果之后,還包括所述主機(jī)判斷所述拆分得到的數(shù)據(jù)段中是否存在未被處理的數(shù)據(jù)段,如果是,則從所述拆分得到的數(shù)據(jù)段中,選取ー個(gè)未被處理的數(shù)據(jù)段,根據(jù)選取的數(shù)據(jù)段、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,并返回步驟A4;否則,結(jié)束流程。優(yōu)選地,所述指令為應(yīng)用協(xié)議數(shù)據(jù)單元APDU指令。優(yōu)選地,所述主機(jī)將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備之前,還包括所述移動(dòng)設(shè)備監(jiān)聽預(yù)設(shè)端ロ,在監(jiān)聽到所述主機(jī)向所述預(yù)設(shè)端ロ發(fā)起連接請(qǐng)求吋,創(chuàng)建與所述主機(jī)對(duì)應(yīng)的連接描述符,建立與所述主機(jī)之間的連接;所述主機(jī)將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,具體為所述主機(jī)根據(jù)所述連接描述符,向所述移動(dòng)設(shè)備發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包;所述移動(dòng)設(shè)備將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī),具體為所述移動(dòng)設(shè)備根據(jù)所述連接描述符,向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。優(yōu)選地,所述移動(dòng)設(shè)備建立與所述主機(jī)之間的連接之前,還包括所述主機(jī)根據(jù)所述移動(dòng)設(shè)備的IP地址以及所述預(yù)設(shè)端ロ的端口號(hào),向所述移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。優(yōu)選地,所述移動(dòng)設(shè)備根據(jù)所述連接描述符,向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包,具體為所述移動(dòng)設(shè)備將所述連接描述符、所述網(wǎng)絡(luò)數(shù)據(jù)包以及所述網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。優(yōu)選地,所述移動(dòng)設(shè)備將解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令,具體為所述移動(dòng)設(shè)備將所述解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),并調(diào)用StrToHex函數(shù),將所述char*型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;或者,所述移動(dòng)設(shè)備調(diào)用StringToHex函數(shù)將所述解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令。優(yōu)選地,所述移動(dòng)設(shè)備對(duì)所述指令進(jìn)行編碼,將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備之前,還包括所述移動(dòng)設(shè)備檢測(cè)與自身連接的外部設(shè)備;所述移動(dòng)設(shè)備將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備,具體為當(dāng)所述移動(dòng)設(shè)備檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;當(dāng)所述移動(dòng)設(shè)備檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。優(yōu)選地,所述移動(dòng)設(shè)備判斷所述處理結(jié)果是否正確,具體為所述移動(dòng)設(shè)備獲取所述處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查所述校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),如果是,則判斷所述處理結(jié)果正確;否則,判斷所述處理結(jié)果錯(cuò)誤。優(yōu)選地,所述移動(dòng)設(shè)備將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù),具體為所述移動(dòng)設(shè)備將所述有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),并將所述char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù);或者,所述移動(dòng)設(shè)備將所述有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),將所述String型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù)。優(yōu)選地,所述主機(jī)根據(jù)用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,具體為所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端ロ號(hào)和所述移動(dòng)設(shè)備的端ロ號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;所述主機(jī)根據(jù)所述傳輸數(shù)據(jù)包、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;所述移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù),具體為所述移動(dòng)設(shè)備對(duì)所述接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到所述傳輸數(shù)據(jù)包,對(duì)所述傳輸數(shù)據(jù)包進(jìn)行解析,得到所述有效數(shù)據(jù)。優(yōu)選地,所述移動(dòng)設(shè)備對(duì)接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到所述處理結(jié)果,具體為所述移動(dòng)設(shè)備對(duì)所述第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);所述移動(dòng)設(shè)備對(duì)所述第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)所述第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷所述第二解碼數(shù)據(jù)是否正確,如果正確,則將所述第二解碼數(shù)據(jù)中除所述校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為所述處理結(jié)果;否則,丟棄所述第二解碼數(shù)據(jù)。本發(fā)明還提供了一種聯(lián)機(jī)通信的系統(tǒng),包括移動(dòng)設(shè)備、主機(jī)和外部設(shè)備,其中,所述主機(jī)包括獲取模塊,用于獲取用戶數(shù)據(jù);第一生成模塊,用于根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端ロ號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第一發(fā)送模塊,用于將所述第一生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;第一接收模塊,用于接收來自所述移動(dòng)設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包,觸發(fā)第二判斷模塊;第一解析模塊,用于對(duì)所述第一接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;顯示模塊,用于顯示所述第一解析模塊的解析結(jié)果;所述移動(dòng)設(shè)備,包括第二接收模塊,用于接收來自所述主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包和來自所述外部設(shè)備的第二編碼數(shù)據(jù);第二解析模塊,用于將所述第二接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù);第一轉(zhuǎn)換模塊,用于將所述第二解析模塊解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;在第三判斷模塊判斷處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù);第一編碼模塊,用于對(duì)所述第一轉(zhuǎn)換模塊轉(zhuǎn)換得到的指令進(jìn)行編碼,得到第一編碼數(shù)據(jù);第一解碼模塊,用于對(duì)所述第二接收模塊接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果;第三判斷模塊,用于判斷所述第一解碼模塊解碼得到的處理結(jié)果是否正確;第二生成模塊,用于根據(jù)所述第一轉(zhuǎn)換模塊轉(zhuǎn)換得到的數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在所述第三判斷模塊判斷所述處理結(jié)果不正確時(shí),根據(jù)所述處理結(jié)果、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第二發(fā)送模塊,用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);所述外部設(shè)備,包括第三接收模塊,用于接收來自所述移動(dòng)設(shè)備的第一編碼數(shù)據(jù);第二解碼模塊,用于對(duì)所述第三接收模塊接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,得到所述指令;處理模塊,用于根據(jù)所述第二解碼模塊解碼得到的所述指令進(jìn)行相應(yīng)的處理;第二編碼模塊,用于對(duì)所述處理模塊的處理結(jié)果進(jìn)行編碼,得到所述第二編碼數(shù)據(jù);第三發(fā)送模塊,用于將所述第二編碼模塊編碼得到的所述第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備。優(yōu)選地,所述主機(jī),還包括第一判斷模塊,用于判斷所述獲取模塊獲取的用戶數(shù)據(jù)是否包含預(yù)設(shè)字符;拆分模塊,用于在所述第一判斷模塊判斷所述用戶數(shù)據(jù)包含預(yù)設(shè)字符時(shí),根據(jù)所述預(yù)設(shè)字符在所述用戶數(shù)據(jù)中的位置,將所述用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段;選擇模塊,用于從所述拆分模塊拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段;·第二判斷模塊,用于判斷所述拆分得到的數(shù)據(jù)段中是否存在未被處理過的數(shù)據(jù)段,如果是,則觸發(fā)所述選擇模塊;所述第一生成模塊,具體用于根據(jù)所述選擇模塊選取的數(shù)據(jù)段、所述主機(jī)的端ロ號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在所述第一判斷模塊判斷所述用戶數(shù)據(jù)不包含預(yù)設(shè)字符時(shí),根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。優(yōu)選地,所述指令為應(yīng)用協(xié)議數(shù)據(jù)單元APDU指令。優(yōu)選地,所述移動(dòng)設(shè)備,還包括監(jiān)聽模塊,用于監(jiān)聽預(yù)設(shè)端ロ;創(chuàng)建模塊,用于在所述監(jiān)聽模塊監(jiān)聽到所述主機(jī)向所述預(yù)設(shè)端ロ發(fā)起連接請(qǐng)求吋,創(chuàng)建與所述主機(jī)對(duì)應(yīng)的連接描述符,建立與所述主機(jī)之間的連接;所述第一發(fā)送模塊,具體用于根據(jù)所述連接描述符,將所述第一生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;所述第二發(fā)送模塊,具體用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;根據(jù)所述連接描述符,將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī)。優(yōu)選地,所述主機(jī),還包括連接模塊,用于根據(jù)所述移動(dòng)設(shè)備的IP地址以及所述預(yù)設(shè)端ロ的端口號(hào),向所述移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。優(yōu)選地,所述第二發(fā)送模塊,具體用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;將所述連接描述符、所述網(wǎng)絡(luò)數(shù)據(jù)包以及所述網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。優(yōu)選地,所述第一轉(zhuǎn)換模塊,具體用于將所述第二解析模塊解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),并調(diào)用StrToHex函數(shù),將所述char*型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;或者,調(diào)用StringToHex函數(shù)將所述第二解析模塊解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;在所述第三判斷模塊判斷所述處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),并將所述char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù);或者,將所述處理結(jié)果中的有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),將所述String型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù)。優(yōu)選地,所述移動(dòng)設(shè)備,還包括檢測(cè)模塊,用于檢測(cè)與所述移動(dòng)設(shè)備連接的外部設(shè)備;所述第二發(fā)送模塊,具體用于將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);在所述檢測(cè)模塊檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;在所述檢測(cè)模塊檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。優(yōu)選地,所述第三判斷模塊,具體用于獲取所述處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查所述校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),如果是,則判斷所述處理結(jié)果正確;否則,判斷所述處理結(jié)果錯(cuò)誤。優(yōu)選地,所述第一生成模塊,具體用于根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)和所述移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)所述傳輸數(shù)據(jù)包、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;所述第二解析模塊,具體用于對(duì)所述第二接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解祈,得到所述傳輸數(shù)據(jù)包,對(duì)所述傳輸數(shù)據(jù)包進(jìn)行解析,得到所述有效數(shù)據(jù)。優(yōu)選地,所述第一解碼模塊,具體用于對(duì)所述第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);對(duì)所述第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)所述第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷所述第二解碼數(shù)據(jù)是否正確,如果正確,則將所述第二解碼數(shù)據(jù)中除所述校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為所述處理結(jié)果;否則,丟棄所述第二解碼數(shù)據(jù)。本發(fā)明提供的技術(shù)方案中,主機(jī)與移動(dòng)設(shè)備建立連接,并通過該移動(dòng)設(shè)備與外部設(shè)備進(jìn)行通信,從而達(dá)到在主機(jī)端對(duì)外部設(shè)備進(jìn)行調(diào)試的目的,提高了對(duì)外部設(shè)備進(jìn)行調(diào)試的工作效率。圖1和圖2為本發(fā)明實(shí)施例中的一種聯(lián)機(jī)通信的方法流程圖;圖3為本發(fā)明實(shí)施例中的一種聯(lián)機(jī)通信的系統(tǒng)結(jié)構(gòu)圖。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。如圖1和圖2所示,為本發(fā)明實(shí)施例中的一種聯(lián)機(jī)通信的方法流程圖,該方法應(yīng)用于包括主機(jī)、移動(dòng)設(shè)備、外部設(shè)備的系統(tǒng)中,其中,移動(dòng)設(shè)備通過dockロ或音頻接ロ與外部設(shè)備連接,主機(jī)使用socket通訊機(jī)制與移動(dòng)設(shè)備進(jìn)行通信,移動(dòng)設(shè)備作為socket通訊機(jī)制中的服務(wù)器端,主機(jī)作為socket通訊機(jī)制中的客戶端。socket是建立網(wǎng)絡(luò)連接時(shí)使用的,在連接成功時(shí),移動(dòng)設(shè)備與主機(jī)都會(huì)生成ー個(gè)socket實(shí)例,并通過操作該實(shí)例完成所需的會(huì)話。socket連接過程分為三個(gè)步驟服務(wù)器監(jiān)聽,客戶端請(qǐng)求,連接確認(rèn)。移動(dòng)設(shè)備可以為iOS設(shè)備或Android設(shè)備。本發(fā)明實(shí)施例中的流程圖包括以下步驟步驟101,移動(dòng)設(shè)備啟動(dòng)服務(wù)器端程序,監(jiān)聽預(yù)設(shè)端ロ。例如,當(dāng)移動(dòng)設(shè)備為iOS設(shè)備時(shí),服務(wù)器端程序調(diào)用listen函數(shù),并使用預(yù)設(shè)端ロ的端口號(hào)作為listen函數(shù)的參數(shù),以監(jiān)聽預(yù)設(shè)端ロ,例如8080端ロ;當(dāng)監(jiān)聽到有客戶端發(fā)起socket連接請(qǐng)求時(shí),通過調(diào)用accept函數(shù)創(chuàng)建與該客戶端對(duì)應(yīng)的連接描述符,建立與客戶端的連接;否則,繼續(xù)監(jiān)聽。當(dāng)移動(dòng)設(shè)備為Android設(shè)備時(shí),服務(wù)器端程序調(diào)用Serversocket函數(shù),并使用預(yù)設(shè)端ロ的端口號(hào)作為Serversocket函數(shù)的參數(shù),以監(jiān)聽預(yù)設(shè)端ロ,例如8080端ロ;當(dāng)監(jiān)聽到有客戶端發(fā)起socket連接請(qǐng)求時(shí),通過調(diào)用accept函數(shù)創(chuàng)建與該客戶端對(duì)應(yīng)的連接描述符,建立與客戶端的連接;否則,繼續(xù)監(jiān)聽。步驟102,主機(jī)獲取用戶輸入的移動(dòng)設(shè)備的IP地址,根據(jù)該IP地址向移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。具體地,主機(jī)啟動(dòng)客戶端程序,該客戶端程序檢測(cè)到用戶點(diǎn)擊程序界面的“連接”按鈕時(shí),觸發(fā)OnConnectO事件,獲取用戶輸入到該程序界面的第一個(gè)編輯框中的信息,將該信息作為用戶輸入的移動(dòng)設(shè)備的IP地址,并將用戶輸入的移動(dòng)設(shè)備的IP地址以及移動(dòng)設(shè)備的端口號(hào)作為參數(shù),調(diào)用DLL(DynamicLinkLibrary,動(dòng)態(tài)鏈接庫(kù))中的connect函數(shù),向移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。例如,用戶輸入的移動(dòng)設(shè)備的IP地址為192.168.0.1,移動(dòng)設(shè)備的端口號(hào)默認(rèn)為8080。步驟103,主機(jī)顯示連接成功信息。進(jìn)ー步的,移動(dòng)設(shè)備同步顯示已與該主機(jī)連接的信息。例如,主機(jī)中的客戶端程序的界面顯示“連接成功”的字樣,主機(jī)的IP地址為192.168.0.2時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“建立與192.168.0.2的連接”的字樣。需要說明的是,在本發(fā)明的其他實(shí)施方式中,如果主機(jī)與移動(dòng)設(shè)備連接失敗,主機(jī)顯示連接失敗信息,例如,主機(jī)中的客戶端程序的界面顯示“與192.168.0.1連接失敗”的字樣。步驟104,主機(jī)獲取用戶數(shù)據(jù)。具體地,主機(jī)中的客戶端程序在檢測(cè)到用戶點(diǎn)擊“通訊”按鈕吋,觸發(fā)OnSendandrecvO事件,獲取用戶輸入到該程序界面的第二個(gè)編輯框中的信息,將該信息作為用戶數(shù)據(jù),用戶數(shù)據(jù)可以是用戶輸入的字符串或者ニ進(jìn)制數(shù)。例如,“0084000008”或“0084000008\n\r0084000004”。步驟105,主機(jī)判斷用戶數(shù)據(jù)是否包含預(yù)設(shè)字符,如果是,則執(zhí)行步驟125;否則,執(zhí)行步驟106。其中,預(yù)設(shè)字符可以為回車符和換行符,即,“\r\n”。步驟106,主機(jī)根據(jù)用戶數(shù)據(jù)、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址,生成網(wǎng)絡(luò)數(shù)據(jù)包。具體地,主機(jī)可以根據(jù)用戶數(shù)據(jù)、主機(jī)的端口號(hào)和移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)該傳輸數(shù)據(jù)包、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,在本發(fā)明的其他實(shí)施方式中,主機(jī)還可以根據(jù)序號(hào)、確認(rèn)號(hào)、數(shù)據(jù)偏移、校驗(yàn)和、選項(xiàng)字段、填充字段、用戶數(shù)據(jù)、主機(jī)的端口號(hào)和移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)該傳輸數(shù)據(jù)包、版本號(hào)、標(biāo)識(shí)符、生存時(shí)間、填充項(xiàng)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到網(wǎng)絡(luò)數(shù)據(jù)包。步驟107,主機(jī)將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給移動(dòng)設(shè)備。具體地,主機(jī)中的客戶端程序可以將自身對(duì)應(yīng)的連接描述符、網(wǎng)絡(luò)數(shù)據(jù)包以及該網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用DLL中的SendAndRecvData函數(shù),即socket中的send函數(shù),通過W1-Fi等方式向移動(dòng)設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,在本發(fā)明的其他實(shí)施方式中,當(dāng)主機(jī)向移動(dòng)設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包失敗時(shí),主機(jī)顯示發(fā)送失敗信息。例如,主機(jī)中的客戶端程序的界面顯示“發(fā)送數(shù)據(jù)失敗”的字樣。步驟108,移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,對(duì)解析得到的有效數(shù)據(jù)進(jìn)行轉(zhuǎn)換,得到相應(yīng)的指令。具體地,當(dāng)移動(dòng)設(shè)備為iOS設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序調(diào)用recv函數(shù)接收來自主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到傳輸數(shù)據(jù)包,對(duì)該傳輸數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù),并將該有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),再將該NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),然后調(diào)用StrToHex函數(shù),將該char*型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),即轉(zhuǎn)換得到的指令,該指令可以為APDU(ApplicationProtocolDataUnit,應(yīng)用協(xié)議數(shù)據(jù)單元)指令,也可以為其他類型的指令。當(dāng)移動(dòng)設(shè)備為Android設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序調(diào)用BufferedReader函數(shù)接收來自主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,并調(diào)用StringToHex函數(shù)將解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),即轉(zhuǎn)換得到的指令,該指令可以為APDU指令,也可以為其他類型的指令。例如,移動(dòng)設(shè)備解析得到的有效數(shù)據(jù)為“0084000008”時(shí),服務(wù)器端程序界面顯示“收到192.168.0.2發(fā)送的數(shù)據(jù)0084000008”的字樣,將該有效數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制的APDU指令(0x00,0x84,0x00,0x00,0x08),即,獲取隨機(jī)數(shù)指令。步驟109,移動(dòng)設(shè)備對(duì)轉(zhuǎn)換得到的指令進(jìn)行編碼,得到第一編碼數(shù)據(jù)。步驟110,移動(dòng)設(shè)備將第一編碼數(shù)據(jù)發(fā)送給外部設(shè)備。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序檢測(cè)與自身連接的外部設(shè)備,并在檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接時(shí),將第一編碼數(shù)據(jù)作為參數(shù),調(diào)用audio_transmit函數(shù),將該第一編碼數(shù)據(jù)發(fā)送給該外部設(shè)備;在檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將轉(zhuǎn)換得到的指令作為參數(shù),調(diào)用audio_transmit函數(shù),將該指令發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。例如,預(yù)設(shè)接ロ為dockロ或音頻ロ。需要說明的是,在本發(fā)明的其他實(shí)施方式中,當(dāng)移動(dòng)設(shè)備向外部設(shè)備發(fā)送第一編碼數(shù)據(jù)失敗時(shí),移動(dòng)設(shè)備顯示發(fā)送失敗信息,例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“KEY返回的數(shù)據(jù)Time0ut”的字樣。步驟111,外部設(shè)備對(duì)接收到的第一編碼數(shù)據(jù)進(jìn)行解碼,根據(jù)解碼得到的指令進(jìn)行相應(yīng)的處理,得到處理結(jié)果。其中,處理結(jié)果包括有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。例如,解碼得到的指令為獲取隨機(jī)數(shù)指令時(shí),外部設(shè)備生成隨機(jī)數(shù),將該隨機(jī)數(shù)作為有效數(shù)據(jù),并在該有效數(shù)據(jù)結(jié)尾加上校驗(yàn)數(shù)據(jù)作為處理結(jié)果,例如“25849632576849239000”。步驟112,外部設(shè)備對(duì)處理結(jié)果進(jìn)行編碼,將編碼得到的第二編碼數(shù)據(jù)發(fā)送給移動(dòng)設(shè)備。需要說明的是,當(dāng)外部設(shè)備向移動(dòng)設(shè)備發(fā)送第二編碼數(shù)據(jù)失敗時(shí),外部設(shè)備顯示發(fā)送失敗信息。步驟113,移動(dòng)設(shè)備對(duì)接收到的第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果。具體地,移動(dòng)設(shè)備對(duì)第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);移動(dòng)設(shè)備對(duì)第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷該第二解碼數(shù)據(jù)是否正確,如果正確,則將該第二解碼數(shù)據(jù)中除校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為處理結(jié)果;否則,丟棄該第二解碼數(shù)據(jù)。步驟114,移動(dòng)設(shè)備判斷處理結(jié)果是否正確,如果正確,則執(zhí)行步驟119;否則,執(zhí)行步驟115。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用audi0_tranSmit函數(shù)接收來自外部設(shè)備的第二編碼數(shù)據(jù),對(duì)第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果,獲取處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查該校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),例如,0x9000,如果是,則判斷處理結(jié)果正確;否則,判斷處理結(jié)果錯(cuò)誤。步驟115,移動(dòng)設(shè)備顯不外部設(shè)備返回的處理結(jié)果。例如,外部設(shè)備返回的處理結(jié)果為錯(cuò)誤信息“6d00”時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“6d00”的字樣。步驟116,移動(dòng)設(shè)備根據(jù)處理結(jié)果、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。步驟117,移動(dòng)設(shè)備將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)。步驟118,主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果,然后執(zhí)行步驟124。例如,解析結(jié)果為錯(cuò)誤信息“6d00”時(shí),主機(jī)中的客戶端程序的界面顯示“6d00”的字樣。步驟119,移動(dòng)設(shè)備顯示處理結(jié)果。例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“KEY返回的數(shù)據(jù)25849632576849239000”的字樣。步驟120,移動(dòng)設(shè)備將處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。具體地,當(dāng)移動(dòng)設(shè)備為iOS設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用HexToStr函數(shù),將處理結(jié)果中的有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),再將該char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),即與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。當(dāng)移動(dòng)設(shè)備為Android設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用HexToString函數(shù),將處理結(jié)果中的有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),即與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。步驟121,移動(dòng)設(shè)備根據(jù)轉(zhuǎn)換得到的數(shù)據(jù)、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。步驟122,移動(dòng)設(shè)備將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序可以將主機(jī)對(duì)應(yīng)的連接描述符、生成的網(wǎng)絡(luò)數(shù)據(jù)包以及該網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),通過W1-Fi等方式向主機(jī)發(fā)送生成的網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,當(dāng)移動(dòng)設(shè)備向主機(jī)發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包失敗時(shí),移動(dòng)設(shè)備顯示發(fā)送失敗信息,例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“發(fā)送失敗”的字樣。步驟123,主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果。具體地,主機(jī)可以將解析結(jié)果顯示到客戶端程序的界面。例如,在客戶端程序的第三個(gè)顯示框顯示“2584963257684923”的字樣。步驟124,主機(jī)斷開socket連接,終止服務(wù)請(qǐng)求。具體地,主機(jī)中的客戶端程序檢測(cè)到用戶點(diǎn)擊“斷開連接”按鈕時(shí),觸發(fā)DisConnectServer()事件,調(diào)用closesocke函數(shù),關(guān)閉socket連接,終止服務(wù)請(qǐng)求。步驟125,主機(jī)根據(jù)預(yù)設(shè)字符在用戶數(shù)據(jù)中的位置,將該用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段。具體地,當(dāng)用戶數(shù)據(jù)中包含一個(gè)預(yù)設(shè)字符時(shí),主機(jī)中的客戶端程序可以將位于該預(yù)設(shè)字符前后的數(shù)據(jù)作為拆分得到的兩個(gè)獨(dú)立的數(shù)據(jù)段;當(dāng)用戶數(shù)據(jù)中包含多個(gè)預(yù)設(shè)字符時(shí),主機(jī)中的客戶端程序可以將位于第一個(gè)預(yù)設(shè)字符前的數(shù)據(jù)、位于最后一個(gè)預(yù)設(shè)字符后的數(shù)據(jù),以及相鄰兩個(gè)預(yù)設(shè)字符之間的數(shù)據(jù)作為拆分得到的多個(gè)數(shù)據(jù)段。步驟126,主機(jī)從拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段。步驟127,主機(jī)根據(jù)選取的數(shù)據(jù)段、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。具體地,主機(jī)可以根據(jù)選取的數(shù)據(jù)段、主機(jī)的端口號(hào)和移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)該傳輸數(shù)據(jù)包、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,在本發(fā)明的其他實(shí)施方式中,主機(jī)還可以根據(jù)序號(hào)、確認(rèn)號(hào)、數(shù)據(jù)偏移、校驗(yàn)和、選項(xiàng)字段、填充字段、選取的數(shù)據(jù)段、主機(jī)的端口號(hào)和移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)該傳輸數(shù)據(jù)包、版本號(hào)、標(biāo)識(shí)符、生存時(shí)間、填充項(xiàng)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到網(wǎng)絡(luò)數(shù)據(jù)包。步驟128,主機(jī)將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給移動(dòng)設(shè)備。具體地,主機(jī)中的客戶端程序可以將自身對(duì)應(yīng)的連接描述符、網(wǎng)絡(luò)數(shù)據(jù)包以及該網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用DLL中的SendAndRecvData函數(shù),即socket中的send函數(shù),通過W1-Fi等方式向移動(dòng)設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,在本發(fā)明的其他實(shí)施方式中,當(dāng)主機(jī)向移動(dòng)設(shè)備發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包失敗時(shí),主機(jī)顯示發(fā)送失敗信息,例如,主機(jī)中的客戶端程序的界面顯示顯示“發(fā)送數(shù)據(jù)失敗”的字樣。步驟129,移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,對(duì)解析得到的有效數(shù)據(jù)進(jìn)行轉(zhuǎn)換,得到相應(yīng)的指令。具體地,當(dāng)移動(dòng)設(shè)備為iOS設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序調(diào)用recv函數(shù)接收來自主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,并將解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),再將該NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),然后調(diào)用StrToHex函數(shù),將該char*型轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),即轉(zhuǎn)換得到的指令。當(dāng)移動(dòng)設(shè)備為Android設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序調(diào)用BufferedReader函數(shù)接收來自主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包,對(duì)該網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,并調(diào)用StringToHex函數(shù)將解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),即轉(zhuǎn)換得到的指令。例如,移動(dòng)設(shè)備解析得到的有效數(shù)據(jù)為“0084000008”時(shí),服務(wù)器端程序界面顯示“收到192.168.0.2發(fā)送的數(shù)據(jù)0084000008”的字樣,將該有效數(shù)據(jù)轉(zhuǎn)換成16進(jìn)制的APDU指令(0x00,0x84,0x00,0x00,0x08),即,獲取隨機(jī)數(shù)指令。步驟130,移動(dòng)設(shè)備對(duì)轉(zhuǎn)換得到的指令進(jìn)行編碼,得到第一編碼數(shù)據(jù)。步驟131,移動(dòng)設(shè)備將第一編碼數(shù)據(jù)發(fā)送給外部設(shè)備。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序檢測(cè)與自身連接的外部設(shè)備,并在檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接時(shí),將第一編碼數(shù)據(jù)作為參數(shù),調(diào)用audio_transmit函數(shù),將該第一編碼數(shù)據(jù)發(fā)送給該外部設(shè)備;在檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將轉(zhuǎn)換得到的指令作為參數(shù),調(diào)用audio_transmit函數(shù),將該指令發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。例如,預(yù)設(shè)接ロ為dockロ或音頻ロ。需要說明的是,在本發(fā)明的其他實(shí)施方式中,當(dāng)移動(dòng)設(shè)備向外部設(shè)備發(fā)送第一編碼數(shù)據(jù)失敗時(shí),移動(dòng)設(shè)備顯示發(fā)送失敗信息,例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“KEY返回的數(shù)據(jù)Time0ut”的字樣。步驟132,外部設(shè)備對(duì)接收到的第一編碼數(shù)據(jù)進(jìn)行解碼,根據(jù)解碼得到的指令進(jìn)行相應(yīng)的處理,得到處理結(jié)果。其中,處理結(jié)果包括有效數(shù)據(jù)和校驗(yàn)數(shù)據(jù)。例如,轉(zhuǎn)換得到的指令為獲取隨機(jī)數(shù)指令時(shí),外部設(shè)備生成隨機(jī)數(shù),將該隨機(jī)數(shù)作為有效數(shù)據(jù),并在該有效數(shù)據(jù)結(jié)尾加上校驗(yàn)數(shù)據(jù)作為處理結(jié)果,例如“25849632576849239000”。步驟133,外部設(shè)備對(duì)處理結(jié)果進(jìn)行編碼,將編碼得到的第二編碼數(shù)據(jù)發(fā)送給移動(dòng)設(shè)備。需要說明的是,當(dāng)外部設(shè)備向移動(dòng)設(shè)備發(fā)送第二編碼數(shù)據(jù)失敗時(shí),外部設(shè)備顯示發(fā)送失敗信息。步驟134,移動(dòng)設(shè)備對(duì)接收到的第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果。步驟135,移動(dòng)設(shè)備判斷處理結(jié)果是否正確,如果正確,則執(zhí)行步驟140;否則,執(zhí)行步驟136。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用audi0_tranSmit函數(shù)接收來自外部設(shè)備的第二編碼數(shù)據(jù),對(duì)第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果,獲取處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查該校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),例如,0x9000,如果是,則判斷處理結(jié)果正確;否則,判斷處理結(jié)果錯(cuò)誤。步驟136,移動(dòng)設(shè)備顯示外部設(shè)備返回的處理結(jié)果。例如,外部設(shè)備返回的處理結(jié)果為錯(cuò)誤信息“6d00”時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“6d00”的字樣。步驟137,移動(dòng)設(shè)備根據(jù)處理結(jié)果、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。步驟138,移動(dòng)設(shè)備將網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)。步驟139,主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果,并執(zhí)行步驟145。例如,解析結(jié)果為錯(cuò)誤信息“6d00”時(shí),主機(jī)中的客戶端程序的界面顯示“6d00”的字樣。步驟140,移動(dòng)設(shè)備顯示處理結(jié)果。例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“KEY返回的數(shù)據(jù)25849632576849239000”的字樣。步驟141,移動(dòng)設(shè)備將處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。具體地,當(dāng)移動(dòng)設(shè)備為iOS設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用HexToStr函數(shù),將處理結(jié)果中的有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),再將該char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),即與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。當(dāng)移動(dòng)設(shè)備為Android設(shè)備時(shí),移動(dòng)設(shè)備中的服務(wù)器端程序可以調(diào)用HexToString函數(shù),將處理結(jié)果中的有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),即與用戶數(shù)據(jù)格式相同的數(shù)據(jù)。步驟142,移動(dòng)設(shè)備根據(jù)轉(zhuǎn)換得到的數(shù)據(jù)、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。步驟143,移動(dòng)設(shè)備將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)。具體地,移動(dòng)設(shè)備中的服務(wù)器端程序可以將主機(jī)對(duì)應(yīng)的連接描述符、生成的網(wǎng)絡(luò)數(shù)據(jù)包以及該網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),通過W1-Fi等方式向主機(jī)發(fā)送生成的網(wǎng)絡(luò)數(shù)據(jù)包。需要說明的是,當(dāng)移動(dòng)設(shè)備向主機(jī)發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包失敗時(shí),移動(dòng)設(shè)備顯示發(fā)送失敗信息,例如,移動(dòng)設(shè)備中的服務(wù)器端程序的界面顯示“發(fā)送失敗”的字樣。步驟144,主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果。具體地,主機(jī)可以將解析結(jié)果顯示到客戶端程序的界面。例如,在客戶端程序的第三個(gè)顯示框顯示“2584963257684923”的字樣。步驟145,主機(jī)判斷拆分得到的數(shù)據(jù)段中是否存在未被處理的數(shù)據(jù)段,如果是,則返回步驟126;否則,執(zhí)行步驟146。步驟146,主機(jī)斷開socket連接,終止服務(wù)請(qǐng)求。具體地,主機(jī)中的客戶端程序檢測(cè)到用戶點(diǎn)擊“斷開連接”按鈕時(shí),觸發(fā)DisConnectServer()事件,調(diào)用closesocke函數(shù),關(guān)閉socket連接,終止服務(wù)請(qǐng)求。本發(fā)明提供的技術(shù)方案中,主機(jī)與移動(dòng)設(shè)備建立連接,并通過該移動(dòng)設(shè)備與外部設(shè)備進(jìn)行通信,從而達(dá)到在主機(jī)端對(duì)外部設(shè)備進(jìn)行調(diào)試的目的,提高了對(duì)外部設(shè)備進(jìn)行調(diào)試的工作效率需要說明的是,在本發(fā)明的其他實(shí)施方式中該,主機(jī)也可以不判斷獲取的用戶數(shù)據(jù)中是否包含預(yù)設(shè)字符,而是直接根據(jù)用戶數(shù)據(jù)、主機(jī)的端口號(hào)、移動(dòng)設(shè)備的端口號(hào)、主機(jī)的IP地址和移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將該網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給移動(dòng)設(shè)備,并進(jìn)行后續(xù)的操作,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。如圖3所示,為本發(fā)明實(shí)施例中的一種聯(lián)機(jī)通信的系統(tǒng)結(jié)構(gòu)圖,包括主機(jī)300、移動(dòng)設(shè)備400和外部設(shè)備500,其中,主機(jī)300包括獲取模塊301,用于獲取用戶數(shù)據(jù);第一判斷模塊302,用于判斷獲取模塊301獲取的用戶數(shù)據(jù)是否包含預(yù)設(shè)字符;拆分模塊303,用于在第一判斷模塊302判斷所述用戶數(shù)據(jù)包含預(yù)設(shè)字符時(shí),根據(jù)所述預(yù)設(shè)字符在所述用戶數(shù)據(jù)中的位置,將所述用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段;選擇模塊304,用于從拆分模塊303拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段;·第一生成模塊305,用于根據(jù)選擇模塊304選取的數(shù)據(jù)段、主機(jī)300的端口號(hào)、移動(dòng)設(shè)備400的端口號(hào)、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在第一判斷模塊302判斷所述用戶數(shù)據(jù)不包含預(yù)設(shè)字符時(shí),根據(jù)所述用戶數(shù)據(jù)、主機(jī)300的端口號(hào)、移動(dòng)設(shè)備400的端口號(hào)、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第一發(fā)送模塊306,用于將第一生成模塊305生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給移動(dòng)設(shè)備400;第一接收模塊307,用于接收來自移動(dòng)設(shè)備400的網(wǎng)絡(luò)數(shù)據(jù)包,觸發(fā)第二判斷模塊310;第一解析模塊308,用于對(duì)第一接收模塊307接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;顯示模塊309,用于顯示第一解析模塊308的解析結(jié)果;第二判斷模塊310,用于判斷拆分模塊303拆分得到的數(shù)據(jù)段中是否存在未被處理過的數(shù)據(jù)段,如果是,則觸發(fā)選擇模塊304;上述主機(jī)300,還包括連接模塊311,用于根據(jù)移動(dòng)設(shè)備300的IP地址以及預(yù)設(shè)端ロ的端口號(hào),向移動(dòng)設(shè)備400發(fā)起連接請(qǐng)求。上述移動(dòng)設(shè)備400,包括第二接收模塊401,用于接收來自主機(jī)300的網(wǎng)絡(luò)數(shù)據(jù)包和來自外部設(shè)備500的第ニ編碼數(shù)據(jù);第二解析模塊402,用于將第二接收模塊401接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù);第一轉(zhuǎn)換模塊403,用于將第二解析模塊402解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;在第三判斷模塊406判斷處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù);具體地,上述第一轉(zhuǎn)換模塊403,具體用于將第二解析模塊402解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),并調(diào)用StrToHex函數(shù),將所述char*型轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;或者,調(diào)用StringToHex函數(shù)將第二解析模塊402解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;在第三判斷模塊406判斷所述處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),并將所述char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù);或者,將所述處理結(jié)果中的有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),將所述String型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù)。其中,第一轉(zhuǎn)換模塊403轉(zhuǎn)換得到的指令可以為APDU指令,也可以為其他類型的指令。第一編碼模塊404,用于對(duì)第一轉(zhuǎn)換模塊403轉(zhuǎn)換得到的指令進(jìn)行編碼,得到第一編碼數(shù)據(jù);第一解碼模塊405,用于對(duì)第二接收模塊401接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果;具體地,上述第一解碼模塊405,具體用于對(duì)所述第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);對(duì)所述第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)所述第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷所述第二解碼數(shù)據(jù)是否正確,如果正確,則將所述第二解碼數(shù)據(jù)中除所述校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為所述處理結(jié)果;否則,丟`棄所述第二解碼數(shù)據(jù)。第三判斷模塊406,用于判斷第一解碼模塊405解碼得到的處理結(jié)果是否正確;具體地,上述第三判斷模塊406,具體用于獲取所述處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查所述校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),如果是,則判斷所述處理結(jié)果正確;否則,判斷所述處理結(jié)果錯(cuò)誤。第二生成模塊407,用于根據(jù)第一轉(zhuǎn)換模塊403轉(zhuǎn)換得到的數(shù)據(jù)、主機(jī)300的端ロ號(hào)、移動(dòng)設(shè)備400的端口號(hào)、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在第三判斷模塊406判斷所述處理結(jié)果不正確時(shí),根據(jù)所述處理結(jié)果、主機(jī)300的端口號(hào)、移動(dòng)設(shè)備400的端口號(hào)、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第二發(fā)送模塊408,用于將第一編碼模塊404編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給外部設(shè)備500;將第二生成模塊407生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)300;上述第一生成模塊305,具體用于根據(jù)選擇模塊304選取的數(shù)據(jù)段、主機(jī)300的端口號(hào)和移動(dòng)設(shè)備400的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)所述傳輸數(shù)據(jù)包、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;在第一判斷模塊302判斷所述用戶數(shù)據(jù)不包含預(yù)設(shè)字符時(shí),根據(jù)所述用戶數(shù)據(jù)、主機(jī)300的端口號(hào)和移動(dòng)設(shè)備400的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)所述傳輸數(shù)據(jù)包、主機(jī)300的IP地址和移動(dòng)設(shè)備400的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;相應(yīng)地,上述第二解析模塊402,具體用于對(duì)第二接收模塊401接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到所述傳輸數(shù)據(jù)包,對(duì)所述傳輸數(shù)據(jù)包進(jìn)行解析,得到所述有效數(shù)據(jù)。上述移動(dòng)設(shè)備400,還包括監(jiān)聽模塊409,用于監(jiān)聽預(yù)設(shè)端ロ;創(chuàng)建模塊410,用于在監(jiān)聽模塊409監(jiān)聽到主機(jī)300向所述預(yù)設(shè)端ロ發(fā)起連接請(qǐng)求吋,創(chuàng)建與所述主機(jī)對(duì)應(yīng)的連接描述符,建立與所述主機(jī)之間的連接;相應(yīng)地,上述第一發(fā)送模塊306,具體用于根據(jù)所述連接描述符,將第一生成模塊305生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給移動(dòng)設(shè)備400;上述第二發(fā)送模塊408,具體用于將第一編碼模塊404編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給外部設(shè)備500;根據(jù)所述連接描述符,將第二生成模塊407生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)300。具體地,上述第二發(fā)送模塊408,具體用于將第一編碼模塊404編碼得到的所述第ー編碼數(shù)據(jù)發(fā)送給外部設(shè)備500;將所述連接描述符、所述網(wǎng)絡(luò)數(shù)據(jù)包以及所述網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),向主機(jī)300發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。上述移動(dòng)設(shè)備400,還包括檢測(cè)模塊411,用于檢測(cè)與移動(dòng)設(shè)備300連接的外部設(shè)備;相應(yīng)地,上述第二發(fā)送模塊408,具體用于將第二生成模塊407生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給主機(jī)300;在檢測(cè)模塊411檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給該外部設(shè)備;在檢測(cè)模塊411檢測(cè)到自身與多個(gè)外部設(shè)備連接時(shí),將第一編碼數(shù)據(jù)發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。上述外部設(shè)備500,包括第三接收模塊501,用于接收來自移動(dòng)設(shè)備400的第一編碼數(shù)據(jù);第二解碼模塊502,用于對(duì)第三接收模塊501接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,得到所述指令;處理模塊503,用于根據(jù)第二解碼模塊502解碼得到的所述指令進(jìn)行相應(yīng)的處理;第二編碼模塊504,用于對(duì)處理模塊503的處理結(jié)果進(jìn)行編碼,得到所述第二編碼數(shù)據(jù);第三發(fā)送模塊505,用于將第二編碼模塊504編碼得到的所述第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備400。本發(fā)明提供的技術(shù)方案中,主機(jī)與移動(dòng)設(shè)備建立連接,并通過該移動(dòng)設(shè)備與外部設(shè)備進(jìn)行通信,從而達(dá)到在主機(jī)端對(duì)外部設(shè)備進(jìn)行調(diào)試的目的,提高了對(duì)外部設(shè)備進(jìn)行調(diào)試的工作效率。結(jié)合本文中所公開的實(shí)施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或
技術(shù)領(lǐng)域:
內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1.一種聯(lián)機(jī)通信的方法,其特征在干,應(yīng)用于包括移動(dòng)設(shè)備、主機(jī)和外部設(shè)備的系統(tǒng)中,所述方法包括以下步驟Al、主機(jī)獲取用戶數(shù)據(jù);A2、所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;A3、所述主機(jī)將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;A4、所述移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;A5、所述移動(dòng)設(shè)備將解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;A6、所述移動(dòng)設(shè)備對(duì)所述指令進(jìn)行編碼;A7、所述移動(dòng)設(shè)備將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;AS、所述外部設(shè)備對(duì)接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,根據(jù)解碼得到的指令進(jìn)行相應(yīng)的處理;A9、所述外部設(shè)備對(duì)得到的處理結(jié)果進(jìn)行編碼;A10、所述外部設(shè)備將編碼得到的第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備;All、所述移動(dòng)設(shè)備對(duì)接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到所述處理結(jié)果;A12、所述移動(dòng)設(shè)備判斷所述處理結(jié)果是否正確,如果正確,則執(zhí)行步驟A13;否則,執(zhí)行步驟A15;A13、所述移動(dòng)設(shè)備將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù);A14、所述移動(dòng)設(shè)備根據(jù)轉(zhuǎn)換得到的數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī),并執(zhí)行步驟A16;A15、所述移動(dòng)設(shè)備根據(jù)所述處理結(jié)果、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,并將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);A16、所述主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;A17、所述主機(jī)顯示解析結(jié)果。2.如權(quán)利要求1所述的方法,其特征在于,所述主機(jī)獲取用戶數(shù)據(jù)之后,還包括所述主機(jī)判斷所述用戶數(shù)據(jù)中是否包含預(yù)設(shè)字符;所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,具體為當(dāng)所述用戶數(shù)據(jù)中包含預(yù)設(shè)字符時(shí),所述主機(jī)根據(jù)所述預(yù)設(shè)字符在所述用戶數(shù)據(jù)中的位置,將所述用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段,從拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段,根據(jù)選取的數(shù)據(jù)段、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;當(dāng)所述用戶數(shù)據(jù)中不包含預(yù)設(shè)字符時(shí),所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端ロ號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將所述網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;所述主機(jī)對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,顯示解析結(jié)果之后,還包括所述主機(jī)判斷所述拆分得到的數(shù)據(jù)段中是否存在未被處理的數(shù)據(jù)段,如果是,則從所述拆分得到的數(shù)據(jù)段中,選取ー個(gè)未被處理的數(shù)據(jù)段,根據(jù)選取的數(shù)據(jù)段、所述主機(jī)的端ロ號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,并返回步驟A4;否則,結(jié)束流程。3.如權(quán)利要求1所述的方法,其特征在于,所述指令為應(yīng)用協(xié)議數(shù)據(jù)單元APDU指令。4.如權(quán)利要求1所述的方法,其特征在于,所述主機(jī)將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備之前,還包括所述移動(dòng)設(shè)備監(jiān)聽預(yù)設(shè)端ロ,在監(jiān)聽到所述主機(jī)向所述預(yù)設(shè)端ロ發(fā)起連接請(qǐng)求吋,創(chuàng)建與所述主機(jī)對(duì)應(yīng)的連接描述符,建立與所述主機(jī)之間的連接;所述主機(jī)將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備,具體為所述主機(jī)根據(jù)所述連接描述符,向所述移動(dòng)設(shè)備發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包;所述移動(dòng)設(shè)備將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī),具體為所述移動(dòng)設(shè)備根據(jù)所述連接描述符,向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。5.如權(quán)利要求4所述的方法,其特征在于,所述移動(dòng)設(shè)備建立與所述主機(jī)之間的連接之前,還包括所述主機(jī)根據(jù)所述移動(dòng)設(shè)備的IP地址以及所述預(yù)設(shè)端ロ的端口號(hào),向所述移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。6.如權(quán)利要求4所述的方法,其特征在于,所述移動(dòng)設(shè)備根據(jù)所述連接描述符,向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包,具體為所述移動(dòng)設(shè)備將所述連接描述符、所述網(wǎng)絡(luò)數(shù)據(jù)包以及所述網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。7.如權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)設(shè)備將解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令,具體為所述移動(dòng)設(shè)備將所述解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),并調(diào)用StrToHex函數(shù),將所述char*型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;或者,所述移動(dòng)設(shè)備調(diào)用StringToHex函數(shù)將所述解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令。8.如權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)設(shè)備對(duì)所述指令進(jìn)行編碼,將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備之前,還包括所述移動(dòng)設(shè)備檢測(cè)與自身連接的外部設(shè)備;所述移動(dòng)設(shè)備將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備,具體為當(dāng)所述移動(dòng)設(shè)備檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;當(dāng)所述移動(dòng)設(shè)備檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。9.如權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)設(shè)備判斷所述處理結(jié)果是否正確,具體為所述移動(dòng)設(shè)備獲取所述處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查所述校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),如果是,則判斷所述處理結(jié)果正確;否則,判斷所述處理結(jié)果錯(cuò)誤。10.如權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)設(shè)備將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù),具體為所述移動(dòng)設(shè)備將所述有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),并將所述char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù);或者,所述移動(dòng)設(shè)備將所述有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),將所述String型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù)。11.如權(quán)利要求1所述的方法,其特征在于,所述主機(jī)根據(jù)用戶數(shù)據(jù)、所述主機(jī)的端ロ號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包,具體為所述主機(jī)根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)和所述移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;所述主機(jī)根據(jù)所述傳輸數(shù)據(jù)包、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;所述移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù),具體為所述移動(dòng)設(shè)備對(duì)所述接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到所述傳輸數(shù)據(jù)包,對(duì)所述傳輸數(shù)據(jù)包進(jìn)行解析,得到所述有效數(shù)據(jù)。12.如權(quán)利要求1所述的方法,其特征在于,所述移動(dòng)設(shè)備對(duì)接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到所述處理結(jié)果,具體為所述移動(dòng)設(shè)備對(duì)所述第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);所述移動(dòng)設(shè)備對(duì)所述第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)所述第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷所述第二解碼數(shù)據(jù)是否正確,如果正確,則將所述第ニ解碼數(shù)據(jù)中除所述校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為所述處理結(jié)果;否則,丟棄所述第二解碼數(shù)據(jù)。13.一種聯(lián)機(jī)通信的系統(tǒng),其特征在于,包括移動(dòng)設(shè)備、主機(jī)和外部設(shè)備,其中,所述主機(jī)包括獲取模塊,用于獲取用戶數(shù)據(jù);第一生成模塊,用于根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第一發(fā)送模塊,用于將所述第一生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;第一接收模塊,用于接收來自所述移動(dòng)設(shè)備的網(wǎng)絡(luò)數(shù)據(jù)包,觸發(fā)第二判斷模塊;第一解析模塊,用于對(duì)所述第一接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析;顯示模塊,用于顯示所述第一解析模塊的解析結(jié)果;所述移動(dòng)設(shè)備,包括第二接收模塊,用于接收來自所述主機(jī)的網(wǎng)絡(luò)數(shù)據(jù)包和來自所述外部設(shè)備的第二編碼數(shù)據(jù);第二解析模塊,用于將所述第二接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到有效數(shù)據(jù);第一轉(zhuǎn)換模塊,用于將所述第二解析模塊解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;在第三判斷模塊判斷處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)轉(zhuǎn)換為與所述用戶數(shù)據(jù)格式相同的數(shù)據(jù);第一編碼模塊,用于對(duì)所述第一轉(zhuǎn)換模塊轉(zhuǎn)換得到的指令進(jìn)行編碼,得到第一編碼數(shù)據(jù);第一解碼模塊,用于對(duì)所述第二接收模塊接收到的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到處理結(jié)果;第三判斷模塊,用于判斷所述第一解碼模塊解碼得到的處理結(jié)果是否正確;第二生成模塊,用于根據(jù)所述第一轉(zhuǎn)換模塊轉(zhuǎn)換得到的數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在所述第三判斷模塊判斷所述處理結(jié)果不正確時(shí),根據(jù)所述處理結(jié)果、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;第二發(fā)送模塊,用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);所述外部設(shè)備,包括第三接收模塊,用于接收來自所述移動(dòng)設(shè)備的第一編碼數(shù)據(jù);第二解碼模塊,用于對(duì)所述第三接收模塊接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,得到所述指令;處理模塊,用于根據(jù)所述第二解碼模塊解碼得到的所述指令進(jìn)行相應(yīng)的處理;第二編碼模塊,用于對(duì)所述處理模塊的處理結(jié)果進(jìn)行編碼,得到所述第二編碼數(shù)據(jù);第三發(fā)送模塊,用于將所述第二編碼模塊編碼得到的所述第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備。14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述主機(jī),還包括第一判斷模塊,用于判斷所述獲取模塊獲取的用戶數(shù)據(jù)是否包含預(yù)設(shè)字符;拆分模塊,用于在所述第一判斷模塊判斷所述用戶數(shù)據(jù)包含預(yù)設(shè)字符時(shí),根據(jù)所述預(yù)設(shè)字符在所述用戶數(shù)據(jù)中的位置,將所述用戶數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)段;選擇模塊,用于從所述拆分模塊拆分得到的數(shù)據(jù)段中選取ー個(gè)未被處理的數(shù)據(jù)段;第二判斷模塊,用于判斷所述拆分得到的數(shù)據(jù)段中是否存在未被處理過的數(shù)據(jù)段,如果是,則觸發(fā)所述選擇模塊;所述第一生成模塊,具體用于根據(jù)所述選擇模塊選取的數(shù)據(jù)段、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包;在所述第一判斷模塊判斷所述用戶數(shù)據(jù)不包含預(yù)設(shè)字符時(shí),根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)、所述移動(dòng)設(shè)備的端口號(hào)、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址生成網(wǎng)絡(luò)數(shù)據(jù)包。15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述指令為應(yīng)用協(xié)議數(shù)據(jù)單元APDU指令。16.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述移動(dòng)設(shè)備,還包括監(jiān)聽模塊,用于監(jiān)聽預(yù)設(shè)端ロ;創(chuàng)建模塊,用于在所述監(jiān)聽模塊監(jiān)聽到所述主機(jī)向所述預(yù)設(shè)端ロ發(fā)起連接請(qǐng)求時(shí),創(chuàng)建與所述主機(jī)對(duì)應(yīng)的連接描述符,建立與所述主機(jī)之間的連接;所述第一發(fā)送模塊,具體用于根據(jù)所述連接描述符,將所述第一生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;所述第二發(fā)送模塊,具體用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;根據(jù)所述連接描述符,將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī)。17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述主機(jī),還包括連接模塊,用于根據(jù)所述移動(dòng)設(shè)備的IP地址以及所述預(yù)設(shè)端ロ的端口號(hào),向所述移動(dòng)設(shè)備發(fā)起連接請(qǐng)求。18.如權(quán)利要求16所述的系統(tǒng),其特征在干,所述第二發(fā)送模塊,具體用于將所述第一編碼模塊編碼得到的所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;將所述連接描述符、所述網(wǎng)絡(luò)數(shù)據(jù)包以及所述網(wǎng)絡(luò)數(shù)據(jù)包的長(zhǎng)度作為參數(shù),調(diào)用send函數(shù),向所述主機(jī)發(fā)送所述網(wǎng)絡(luò)數(shù)據(jù)包。19.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述第一轉(zhuǎn)換模塊,具體用于將所述第ニ解析模塊解析得到的有效數(shù)據(jù)由NSData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)強(qiáng)轉(zhuǎn)為對(duì)應(yīng)的char*型數(shù)據(jù),并調(diào)用StrToHex函數(shù),將所述char*型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;或者,調(diào)用StringToHex函數(shù)將所述第二解析模塊解析得到的有效數(shù)據(jù)由String型數(shù)據(jù)轉(zhuǎn)化為byte型數(shù)據(jù),將所述byte型數(shù)據(jù)作為轉(zhuǎn)換得到的指令;在所述第三判斷模塊判斷所述處理結(jié)果正確時(shí),將所述處理結(jié)果中的有效數(shù)據(jù)由NSMUtableData型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的char型數(shù)據(jù),并將所述char型數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的NSString型數(shù)據(jù),將所述NSString型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù);或者,將所述處理結(jié)果中的有效數(shù)據(jù)由byte型數(shù)據(jù)轉(zhuǎn)換為String型數(shù)據(jù),將所述String型數(shù)據(jù)作為轉(zhuǎn)換得到的數(shù)據(jù)。20.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述移動(dòng)設(shè)備,還包括檢測(cè)模塊,用于檢測(cè)與所述移動(dòng)設(shè)備連接的外部設(shè)備;所述第二發(fā)送模塊,具體用于將所述第二生成模塊生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述主機(jī);在所述檢測(cè)模塊檢測(cè)到自身僅與ー個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;在所述檢測(cè)模塊檢測(cè)到自身與多個(gè)外部設(shè)備連接吋,將所述第一編碼數(shù)據(jù)發(fā)送給通過預(yù)設(shè)接ロ與自身連接的外部設(shè)備。21.如權(quán)利要求13所述的系統(tǒng),其特征在干,所述第三判斷模塊,具體用于獲取所述處理結(jié)果中的校驗(yàn)數(shù)據(jù),檢查所述校驗(yàn)數(shù)據(jù)是否為預(yù)設(shè)數(shù)據(jù),如果是,則判斷所述處理結(jié)果正確;否則,判斷所述處理結(jié)果錯(cuò)誤。22.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述第一生成模塊,具體用于根據(jù)所述用戶數(shù)據(jù)、所述主機(jī)的端口號(hào)和所述移動(dòng)設(shè)備的端口號(hào)進(jìn)行組包,得到傳輸數(shù)據(jù)包;根據(jù)所述傳輸數(shù)據(jù)包、所述主機(jī)的IP地址和所述移動(dòng)設(shè)備的IP地址進(jìn)行組包,得到所述網(wǎng)絡(luò)數(shù)據(jù)包;所述第二解析模塊,具體用于對(duì)所述第二接收模塊接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,得到所述傳輸數(shù)據(jù)包,對(duì)所述傳輸數(shù)據(jù)包進(jìn)行解析,得到所述有效數(shù)據(jù)。23.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述第一解碼模塊,具體用于對(duì)所述第二編碼數(shù)據(jù)進(jìn)行整形,對(duì)整形后的所述第二編碼數(shù)據(jù)進(jìn)行解碼,得到第一解碼數(shù)據(jù);對(duì)所述第一解碼數(shù)據(jù)中的數(shù)據(jù)單元進(jìn)行解碼,得到第二解碼數(shù)據(jù),根據(jù)所述第二解碼數(shù)據(jù)中的校驗(yàn)數(shù)據(jù)判斷所述第二解碼數(shù)據(jù)是否正確,如果正確,則將所述第二解碼數(shù)據(jù)中除所述校驗(yàn)數(shù)據(jù)之外的數(shù)據(jù)作為所述處理結(jié)果;否則,丟棄所述第二解碼數(shù)據(jù)。全文摘要本發(fā)明公開一種聯(lián)機(jī)通信的方法和系統(tǒng),該系統(tǒng)包括移動(dòng)設(shè)備、主機(jī)和外部設(shè)備,該方法包括以下步驟主機(jī)獲取用戶數(shù)據(jù),根據(jù)用戶數(shù)據(jù)生成網(wǎng)絡(luò)數(shù)據(jù)包,將生成的網(wǎng)絡(luò)數(shù)據(jù)包發(fā)送給所述移動(dòng)設(shè)備;移動(dòng)設(shè)備對(duì)接收到的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析,將解析得到的有效數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的指令;所述移動(dòng)設(shè)備對(duì)所述指令進(jìn)行編碼,將編碼得到的第一編碼數(shù)據(jù)發(fā)送給所述外部設(shè)備;所述外部設(shè)備對(duì)接收到的所述第一編碼數(shù)據(jù)進(jìn)行解碼,根據(jù)解碼得到的指令進(jìn)行相應(yīng)的處理,對(duì)得到的處理結(jié)果進(jìn)行編碼,將編碼得到的第二編碼數(shù)據(jù)發(fā)送給所述移動(dòng)設(shè)備。上述技術(shù)方案能夠?qū)崿F(xiàn)在主機(jī)端對(duì)外部設(shè)備進(jìn)行調(diào)試的目的,提高了對(duì)外部設(shè)備進(jìn)行調(diào)試的工作效率。文檔編號(hào)H04L29/06GK103067269SQ20121059290公開日2013年4月24日申請(qǐng)日期2012年12月31日優(yōu)先權(quán)日2012年12月31日發(fā)明者陸舟,于華章申請(qǐng)人:飛天誠(chéng)信科技股份有限公司