工具/软件:Code Composer Studio
MCU: TM4C1294NCPDT
RTOS 版本:tirtos_tivac_2_16_01_14
NDK 版本: NDK_2_25_00_09
你(们)好
我有一些问题。
UDP sento 失败、套接字关闭崩溃。
当 sento 失败并且我使用 fdClose (FD)时、MCU 不再响应。
我使用调试工具、发现问题。
这里似乎是无限循环。
HIF = BindIPHost2IF (((IPN) PTR_ipmreq->IMR_interface.s_addr);
如果(!HIF)
返回(EINVAL);
这是我的代码 UDP 套接字:
int fd =(int) socket (AF_iNet、SOCK_DGRAM、IPPROTO_UDP);
if (fd < 0){
return -1;
}
struct ip_mreq mreq;
struct sockaddr_in sa ={0};
int enable = 1;
int &= 255;
if (setsockopt ((sockpit)、fb、USEADDR socket、SO_enable) sizeof (enable)){
转至 err;
}
if (setsockopt ((socket) fd、SOL_socket、SO_REUSEPORT、ENABLEN、sizeof (enable))){
转至错误
;}
if (setsockopt ((socket) fd、SOL_socket、SO_broadcast、enable、sizeof (enable))){
转至错误;
}
if (setsockopt ((socket) fd、IPPROTO_IP、IP_TTL、&hops、sizeof (hops))){
goto err;
}
mreq.IMR_multiaddr.s_addr = htonl (0xE00000FB);
mreq.IMR_interface = interface_adopt;
if (setsockfp、ip_socomb)(sock+) mreq、sizeof (mreq))){
goto err;
}
sa.sin_family = AF_iNet;
sa.sin_port = ntohs (5353);
sa.sin_addr.s_addr = INADDR_ANY;
if (bind ((sockpit) fd、(struct sockaddr*) sa)、 sizeof (sa)){
goto err;
}
send_addr->sin_family = AF_iNet;
send_addr->sin_addr.s_addr = mreq.IMR_multiaddr.s_addr;
send_addr->sin_port = ntohs (5353);
如何检查问题?
艾伦