CH579工作在DHCP模式,通過MQTT連接外界服務器,網(wǎng)絡存在各種異常情況導致MQTT掉線,CH579如何重連比較可靠呢?
重連之前CH57xNET_SocketClose關閉原先Socket,參數(shù)用TCP_CLOSE_RST\TCP_CLOSE_ABANDON\TCP_CLOSE_NORMAL哪一個比較好?
是否需要關閉DHCP然后重新打開呢?CH57xNET_DHCPStop,CH57xNET_DHCPStart
關閉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);