|
|
@ -49,11 +49,12 @@ bool xs_udp_init(udp_t *udp_handler, const char *name, uint16_t port, udp_on_pac |
|
|
|
ZLOGE(TAG, "create socket fail"); |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 设置超时 |
|
|
|
struct timeval tv = {0, 1000}; |
|
|
|
SOCKET_DO(lwip_setsockopt(udp_handler->sock_fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv))); |
|
|
|
|
|
|
|
// 绑定 |
|
|
|
SOCKET_DO(bind(udp_handler->sock_fd, (struct sockaddr *)&udp_handler->server, sizeof(udp_handler->server))); |
|
|
|
// 设置超时 |
|
|
|
struct timeval tv = {1, 0}; |
|
|
|
SOCKET_DO(lwip_setsockopt(udp_handler->sock_fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv))); |
|
|
|
|
|
|
|
if (on_packet) { |
|
|
|
// 创建接收线程 |
|
|
@ -88,7 +89,7 @@ bool xs_udp_broadcast_init(udp_broadcast_handler_t *udp_handler, uint16_t localp |
|
|
|
return false; |
|
|
|
} |
|
|
|
// 设置超时 |
|
|
|
struct timeval tv = {0, 1000}; |
|
|
|
struct timeval tv = {1, 0}; |
|
|
|
SOCKET_DO(lwip_setsockopt(udp_handler->sock_fd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv))); |
|
|
|
// 绑定 |
|
|
|
SOCKET_DO(bind(udp_handler->sock_fd, (struct sockaddr *)&udp_handler->server, sizeof(udp_handler->server))); |
|
|
|