esp-mdf
esp-mdf copied to clipboard
mdf的mesh组网根节点tcp连接判断
测试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);
}