summaryrefslogtreecommitdiff
path: root/apps/examples/nettest/nettest_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/examples/nettest/nettest_server.c')
-rw-r--r--apps/examples/nettest/nettest_server.c16
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);