diff options
Diffstat (limited to 'apps/examples/nettest/nettest_server.c')
-rw-r--r-- | apps/examples/nettest/nettest_server.c | 16 |
1 files changed, 13 insertions, 3 deletions
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); |