diff --git a/examples/network/tcpclient.c b/examples/network/tcpclient.c index 453910ec90d..09b94c52162 100644 --- a/examples/network/tcpclient.c +++ b/examples/network/tcpclient.c @@ -10,6 +10,7 @@ #include #include +#include #if !defined(SAL_USING_POSIX) #error "Please enable SAL_USING_POSIX!" @@ -114,15 +115,15 @@ static void tcpclient(void *arg) { /* Receive failed and close the connection */ /* 接收失败,关闭这个连接 */ - LOG_E("Received error, close the socket."); + LOG_E("Received error(%d), close the socket.", errno); goto __exit; } else if (bytes_received == 0) { - /* Print warning message when recv function returns 0 */ - /* 打印recv函数返回值为0的警告信息 */ - LOG_W("Received warning, recv function returns 0."); - continue; + /* Socket has performed an orderly shutdown. */ + /* 连接已断开 */ + LOG_E("Socket has performed an orderly shutdown."); + goto __exit; } else { @@ -151,14 +152,19 @@ static void tcpclient(void *arg) { /* Send failed, close the connection */ /* 发送失败,关闭这个连接 */ - LOG_I("send error, close the socket."); + LOG_I("send error(%d), close the socket.", errno); goto __exit; } else if (ret == 0) { - /* Print warning message when send function returns 0 */ - /* 打印send函数返回值为0的警告信息 */ - LOG_W("Send warning, send function returns 0."); + /* Socket has performed an orderly shutdown. */ + /* 连接已断开 */ + LOG_E("Socket has performed an orderly shutdown."); + goto __exit; + } + else if (ret != rt_strlen(send_data)) + { + LOG_W("%d out of %d bytes sent.", ret, rt_strlen(send_data)); } } diff --git a/examples/network/tcpserver.c b/examples/network/tcpserver.c index 6ec5f0e7a38..9a738fe9ce1 100644 --- a/examples/network/tcpserver.c +++ b/examples/network/tcpserver.c @@ -10,6 +10,7 @@ #include #include +#include #if !defined(SAL_USING_POSIX) #error "Please enable SAL_USING_POSIX!" @@ -132,17 +133,19 @@ static void tcpserv(void *arg) bytes_received = recv(connected, recv_data, BUFSZ, 0); if (bytes_received < 0) { - LOG_E("Received error, close the connect."); + LOG_E("Received error(%d), close the connect.", errno); closesocket(connected); connected = -1; break; } else if (bytes_received == 0) { - /* Print warning message when recv function returns 0 */ - /* 打印recv函数返回值为0的警告信息 */ - LOG_W("Received warning, recv function returns 0."); - continue; + /* Socket has performed an orderly shutdown */ + /* 连接已断开 */ + LOG_E("Socket has performed an orderly shutdown."); + closesocket(connected); + connected = -1; + break; } else { /* Receive data successfully and append '\0' at the end of message */ @@ -177,16 +180,23 @@ static void tcpserv(void *arg) ret = send(connected, send_data, rt_strlen(send_data), 0); if (ret < 0) { - LOG_E("send error, close the connect."); + LOG_E("send error(%d), close the connect.", errno); closesocket(connected); connected = -1; break; } else if (ret == 0) { - /* Print warning message when send function returns 0 */ - /* 打印send函数返回值为0的警告信息 */ - LOG_W("Send warning, send function returns 0."); + /* Socket has performed an orderly shutdown */ + /* 连接已断开 */ + LOG_E("Socket has performed an orderly shutdown."); + closesocket(connected); + connected = -1; + break; + } + else if (ret != rt_strlen(send_data)) + { + LOG_W("%d out of %d bytes sent.", ret, rt_strlen(send_data)); } } }