diff options
Diffstat (limited to 'apps/examples/nettest')
-rw-r--r-- | apps/examples/nettest/nettest_client.c | 7 | ||||
-rw-r--r-- | apps/examples/nettest/nettest_server.c | 16 |
2 files changed, 19 insertions, 4 deletions
diff --git a/apps/examples/nettest/nettest_client.c b/apps/examples/nettest/nettest_client.c index 5f95d7b70..d498feb31 100644 --- a/apps/examples/nettest/nettest_client.c +++ b/apps/examples/nettest/nettest_client.c @@ -1,7 +1,7 @@ /**************************************************************************** * examples/nettest/nettest-client.c * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -169,6 +169,11 @@ void send_client(void) message("client: recv failed: %d\n", errno); goto errout_with_socket; } + else if (nbytesrecvd == 0) + { + message("client: The server closed the connection\n"); + goto errout_with_socket; + } totalbytesrecvd += nbytesrecvd; message("client: Received %d of %d bytes\n", totalbytesrecvd, SENDSIZE); } diff --git a/apps/examples/nettest/nettest_server.c b/apps/examples/nettest/nettest_server.c index 45ef3a39a..76a20e652 100644 --- a/apps/examples/nettest/nettest_server.c +++ b/apps/examples/nettest/nettest_server.c @@ -1,7 +1,7 @@ /**************************************************************************** * examples/nettest/nettest-server.c * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -149,11 +149,16 @@ void recv_server(void) for (;;) { nbytesread = recv(acceptsd, buffer, 2*SENDSIZE, 0); - if (nbytesread <= 0) + if (nbytesread < 0) { message("server: recv failed: %d\n", errno); goto errout_with_acceptsd; } + else if (nbytesread == 0) + { + message("server: The client broke the connection\n"); + goto errout_with_acceptsd; + } message("Received %d bytes\n", nbytesread); } #else @@ -164,11 +169,16 @@ void recv_server(void) { message("server: Reading...\n"); nbytesread = recv(acceptsd, &buffer[totalbytesread], 2*SENDSIZE - totalbytesread, 0); - if (nbytesread <= 0) + if (nbytesread < 0) { message("server: recv failed: %d\n", errno); goto errout_with_acceptsd; } + else if (nbytesread == 0) + { + message("server: The client broke the connection\n"); + goto errout_with_acceptsd; + } totalbytesread += nbytesread; message("server: Received %d of %d bytes\n", totalbytesread, SENDSIZE); |