espressif / esp-mdf

Espressif Mesh Development Framework, limited maintain, recommend to use https://github.com/espressif/esp-mesh-lite
Other
766 stars 249 forks source link

mdf的mesh组网根节点tcp连接判断 #311

Open yeqinggui opened 1 year ago

yeqinggui commented 1 year ago

测试mdf的router,要如何判断实际服务器是否开起来还是没开呢?根节点与服务器建立连接,一种是通信链路异常无法建立,一种是服务器没开启,还有一种是服务器开启,建立连接反馈信息正常,但数据发送失败。要如何区分这些异常呢?

sockfd = socket(AF_INET, SOCK_STREAM, 0);

MDF_ERROR_GOTO(sockfd < 0, ERR_EXIT, "socket create, sockfd: %d", sockfd);

ret                 = connect(sockfd, (struct sockaddr *) &server_addr, sizeof(struct sockaddr_in));
MDF_ERROR_GOTO(ret < 0, ERR_EXIT, "socket connect, ret: %d, ip: %s, port: %d", 
    ret, ip, port);
return sockfd;

ERR_EXIT:

if (sockfd != -1)
{
    MDF_LOGI("please check the wifi ap  or server ip!\n");
    Set_Display_Hint(TONGXUN, 0);               //通信断开
    close(sockfd);
}

image