diff --git a/tcp.cc b/tcp.cc index e7f417a..3f9f5fb 100644 --- a/tcp.cc +++ b/tcp.cc @@ -123,12 +123,9 @@ TCP* TCP::Accept() { #else newsock = accept (sock, (struct sockaddr *) &cli_addr, &cli_len); #endif - printf ("%s:%d newsock:%d", __FILE__, __LINE__, newsock); - if (newsock < 0) return NULL; tcp = new TCP(); tcp->SetSocket(newsock, &cli_addr, cli_len); - printf ("%s:%d setup TCP object sock:%d", __FILE__, __LINE__, tcp->GetSocket()); return tcp; } @@ -227,7 +224,6 @@ long int TCP::Read(char *buffer, long int len) { if (sock <= 0) return -2; len_ = recv (sock, buffer, len, 0); - printf ("read: %d\n", len_); if (len_ < 0 && errno == EAGAIN) len_ = 0; else if (len_ < 0 && errno != EAGAIN) { @@ -287,7 +283,7 @@ void TCP::Close() { }; -void TCP::SetSocket(int s, struct sockaddr_storage *saddr, int saddrlen) { +void TCP::SetSocket(SOCKET s, struct sockaddr_storage *saddr, int saddrlen) { char host[NET_HOSTLEN]; char port[NET_PORTLEN]; int err; diff --git a/test-tcpclient.cc b/test-tcpclient.cc index eeeb63f..f88c9bd 100644 --- a/test-tcpclient.cc +++ b/test-tcpclient.cc @@ -10,6 +10,7 @@ int main (int argc, char **argv) { TCP tcpclient; char buffer[NET_BUFFERSIZE]; int i; + int loop; #ifdef BUILD_WINDOWS char iobuffer[16]; @@ -20,13 +21,13 @@ int main (int argc, char **argv) { // connect to the server if (argc == 2) { if (tcpclient.Connect(argv[1], DEFAULT_PORT) != 1) { - printf ("connect to: %s:%s\n",argv[1], DEFAULT_PORT); + printf ("connect to: %s:%d\n",argv[1], DEFAULT_PORT); printf ("cloud not connect to server\n"); exit (1); } } else if (argc == 3) { - printf ("connect to: %s:%s\n",argv[1], atoi(argv[2])); + printf ("connect to: %s:%d\n",argv[1], atoi(argv[2])); if (tcpclient.Connect(argv[1], argv[2]) != 1) { printf ("cloud not connect to server\n"); exit (1); @@ -39,23 +40,26 @@ int main (int argc, char **argv) { return 1; } - // - // send some data - snprintf (buffer, NET_BUFFERSIZE, "nur ein kleiner Test."); - printf ("client:send '%s' to the server.\n", buffer); - if (tcpclient.Write(buffer, strlen (buffer)) != strlen (buffer)) { - printf ("could not send all data.\n"); - exit (1); - } - - // - // read some data (wait maximum 10x1000ms) - for (i = 10; i > 0; i--) - if (tcpclient.ReadTimeout(buffer, NET_BUFFERSIZE, 1000) > 0) { - printf ("client:got '%s' from server.\n", buffer); - break; + for (loop = 0; loop < 5; loop++) { + // + // send some data + snprintf (buffer, NET_BUFFERSIZE, "nur ein kleiner Test."); + printf ("client:send '%s' to the server.\n", buffer); + if (tcpclient.Write(buffer, strlen (buffer)) != strlen (buffer)) { + printf ("could not send all data.\n"); + exit (1); } + // + // read some data (wait maximum 10x1000ms) + for (i = 10; i > 0; i--) + if (tcpclient.ReadTimeout(buffer, NET_BUFFERSIZE, 1000) > 0) { + printf ("client:got '%s' from server.\n", buffer); + break; + } + + sleep (1); + } // // close connection tcpclient.Close(); diff --git a/test-tcpserver.cc b/test-tcpserver.cc index 8b9fe63..6fe1bad 100644 --- a/test-tcpserver.cc +++ b/test-tcpserver.cc @@ -40,7 +40,8 @@ int main(int argc, char **argv) { } if (connection != NULL) { - i = connection->Read(buffer, NET_BUFFERSIZE); + memset (buffer, 0x0, NET_BUFFERSIZE); + i = connection->ReadTimeout(buffer, NET_BUFFERSIZE, 100); if (i >= 0) { int c;