在CH579M上同時(shí)運(yùn)行MQTT和FTP

如題,我想在CH579M上同時(shí)運(yùn)行MQTT和FTP,可是它們兩個(gè)的服務(wù)器端口不一致,我該如何解決?目前,用串口通過條件可以在程序里分開運(yùn)行,但是切換需要“軟重啟”后重新調(diào)用WCHNET_SocketConnect才行。

您好,由于579M對(duì)于描述符的創(chuàng)建是看列表?SocketInf[WCHNET_MAX_SOCKET_NUM]中是否存在空閑,可以在創(chuàng)建完不同功能的連接后讀取SocketID,用于區(qū)分是用于MQTT還是FTP。


"TmpSocketInf.DesPort"我現(xiàn)在是MQTT和FTP目標(biāo)端口不一致,然后重復(fù)使用WCHNET_SocketCreat()和WCHNET_SocketConnect(),修改"TmpSocketInf.DesPort"后WCHNET_QueryGlobalInt()無響應(yīng)捕獲.PNG


您好,原則上不建議重復(fù)使用WCHNET_SocketCreat()和WCHNET_SocketConnect()這兩個(gè)函數(shù),可能由于這個(gè)愿意導(dǎo)致后面全局中斷無響應(yīng)。根據(jù)您描述的需求,應(yīng)該是如何判斷何時(shí)執(zhí)行MQTT,何時(shí)執(zhí)行FTP。關(guān)于這個(gè)問題,可以通過SOCK_INF這個(gè)結(jié)構(gòu)體中的DesPort來做判斷。具體實(shí)現(xiàn)方法如圖(只是實(shí)現(xiàn)該效果)

image.png

image.png


謝謝回復(fù),我知道了


也就是說WCHNET_SocketCreat()只能連接一個(gè)SOCK_INF這個(gè)結(jié)構(gòu)體中的DesPort,不能處理多個(gè)“目標(biāo)端口是嗎?對(duì)于目標(biāo)端口不同的MQTT和FTP只能切換使用是嗎?


您好,根據(jù)您之前的描述,您使用的應(yīng)該是MQTT和FTP客戶端,都是基于TCP客戶端的,正常連接TCP服務(wù)器端目標(biāo)端口都是確定的,而且一個(gè)socket對(duì)應(yīng)一個(gè)TCP連接。不太理解您想通過一個(gè)socket訪問不同目標(biāo)端口服務(wù)器的目的。如果還有問題,可郵箱咨詢wtf@wch.cn或者電話咨詢025-52638370


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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