一、TCP斷鏈續(xù)連示例
TCP(傳輸控制協(xié)議)主要用于確保數(shù)據(jù)在網(wǎng)絡(luò)中可靠傳輸。當(dāng)TCP連接因網(wǎng)絡(luò)問(wèn)題、設(shè)備故障等原因斷開時(shí),需要重新建立連接以繼續(xù)數(shù)據(jù)傳輸。
本文將通過(guò)Air201具體示例解析,教你使用LuatOS腳本語(yǔ)言實(shí)現(xiàn)TCP斷鏈續(xù)連。
1.1 本教程實(shí)現(xiàn)的功能定義:
1)斷鏈:
TCP連接斷開,可能由于網(wǎng)絡(luò)不穩(wěn)定、設(shè)備故障等。
2)續(xù)連:
重新建立TCP連接,通常通過(guò)“三次握手”,過(guò)程如下:
客戶端請(qǐng)求連接;
服務(wù)器響應(yīng)并同意連接;
客戶端確認(rèn)連接建立。
1.2 核心腳本代碼詳解
1.2.1 串口初始化
本文示例:串口使用MAIN_UART(uart1)。
1.2.2 數(shù)據(jù)接收回調(diào):搭建響應(yīng)橋梁
這里使用uart.rx接口,和以zbuff的方式存儲(chǔ)從uart1外部串口收到的數(shù)據(jù)--收取數(shù)據(jù)會(huì)觸發(fā)回調(diào)。
注意:這里的"receive"是固定值不要修改。
1.2.3 TCP網(wǎng)絡(luò)配置:鋪就數(shù)據(jù)通道
注意:
如需要認(rèn)證,SSL填寫為true;不需要?jiǎng)t填寫為false。
1.2.4 TCP至串口透?jìng)鳎簲?shù)據(jù)無(wú)縫流轉(zhuǎn)
1.2.5 串口至TCP反透?jìng)鳎盒畔㈦p向傳遞
1.2.6 斷鏈續(xù)連
1.3 完整代碼及運(yùn)行結(jié)果
1.3.1 完整代碼
1.3.2 運(yùn)行結(jié)果
使用TCP/UDP web測(cè)試工具進(jìn)行測(cè)試,LuaTools工具打印日志,可看到服務(wù)器斷開后,重新連接成功。
如下圖所示:
二、常見(jiàn)問(wèn)題
sys.waitUntil("IP_READY") -- 等待聯(lián)網(wǎng)成功
新入手的朋友可能看到此函數(shù)不太理解:
在整個(gè)腳本里面沒(méi)有發(fā)布此事件sys.publish("IP_READY"),為什么后面還聯(lián)網(wǎng)成功了?
此處解釋一下:
在模組上電之后,固件內(nèi)部聯(lián)網(wǎng)成功會(huì)自動(dòng)發(fā)布:
sys.publish("IP_READY")
今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
TCP
+關(guān)注
關(guān)注
8文章
1395瀏覽量
80166
發(fā)布評(píng)論請(qǐng)先 登錄
車規(guī)級(jí)NTC熱敏電阻在雷達(dá)模塊熱崩潰中的安全斷連設(shè)計(jì)
路由器經(jīng)常斷網(wǎng)怎么回事

數(shù)據(jù)采集網(wǎng)關(guān)出現(xiàn)斷網(wǎng)可能是什么原因?如何排查?
斷連塊應(yīng)用于飛控測(cè)試環(huán)境斷線測(cè)試箱

評(píng)論