CH579工作在DHCP模式時,socket重連怎樣操作才比較標準?

CH579工作在DHCP模式,通過MQTT連接外界服務器,網(wǎng)絡存在各種異常情況導致MQTT掉線,CH579如何重連比較可靠呢?

  1. 重連之前CH57xNET_SocketClose關閉原先Socket,參數(shù)用TCP_CLOSE_RST\TCP_CLOSE_ABANDON\TCP_CLOSE_NORMAL哪一個比較好?

  2. 是否需要關閉DHCP然后重新打開呢?CH57xNET_DHCPStop,CH57xNET_DHCPStart

  3. 關閉DHCP再打開之前,是否需要跟程序開始一樣,對網(wǎng)絡重新初始化一次呢?


    不知道怎樣做顯得優(yōu)雅標準一些,什么時候只需要簡單的關閉socket重新連接,什么時候需要重啟DHCP,什么時候需要對網(wǎng)絡庫重新初始化,


????CH57xNET_SocketClose(SocketId,?TCP_CLOSE_RST);
?????
??CH57xNET_DHCPStop();
????????????????
??GetMacAddr(MACAddr);
??CH57xNET_LibInit(IPAddr,?GWIPAddr,?IPMask,?MACAddr);???/*?庫初始化?*/
??????????????????????????????????????????????????????????????????????????????/*?檢查錯誤?*/
??NVIC_EnableIRQ(ETH_IRQn);
??
???while(CH57xInf.PHYStat?<?2)
??{
????DelayMs(50);
??}
??osDelay(500);
??CH57xNET_DHCPStart(CH57xNET_DHCPCallBack);


(1)建議先抓包查清掉線原因,一般情況下使用TCP_CLOSE_RST,再換端口重連MQTT服務器。

(2)不需要關閉DHCP再打開,建議第一次DHCP成功后就直接關閉使能DHCP。

(3)建議每一次運行之后只對庫初始化一次,若對庫再次進行初始化之前請先對芯片進行復位。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频