-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Description
umqtt/src/trans/umqtt_transport.c
Lines 191 to 213 in 6609efd
| if ((*sock = socket(addr_res->ai_family, SOCK_STREAM, UMQTT_SOCKET_PROTOCOL)) < 0) | |
| { | |
| LOG_E("create socket error!"); | |
| _ret = UMQTT_FAILED; | |
| goto exit; | |
| } | |
| _ret = ioctlsocket(*sock, FIONBIO, 0); | |
| if (_ret < 0) | |
| { | |
| LOG_E(" iocontrol socket error!"); | |
| _ret = UMQTT_FAILED; | |
| goto exit; | |
| } | |
| if ((_ret = connect(*sock, addr_res->ai_addr, addr_res->ai_addrlen)) < 0) | |
| { | |
| LOG_E(" connect err!"); | |
| closesocket(*sock); | |
| *sock = -1; | |
| _ret = UMQTT_FAILED; | |
| goto exit; | |
| } |
非TLS加密时应该无需执行ioctlsocket,修改建议如下:
if ((*sock = socket(addr_res->ai_family, SOCK_STREAM, UMQTT_SOCKET_PROTOCOL)) < 0)
{
LOG_E("create socket error!");
_ret = UMQTT_FAILED;
goto exit;
}
if(UMQTT_SOCKET_PROTOCOL) //非加密时无需执行此步骤
{
_ret = ioctlsocket(*sock, FIONBIO, 0);
if (_ret < 0)
{
LOG_E(" iocontrol socket error!");
_ret = UMQTT_FAILED;
goto exit;
}
}
if ((_ret = connect(*sock, addr_res->ai_addr, addr_res->ai_addrlen)) < 0)
{
LOG_E(" connect err!");
closesocket(*sock);
*sock = -1;
_ret = UMQTT_FAILED;
goto exit;
}
Metadata
Metadata
Assignees
Labels
No labels