added better windows support

origin
steffen 5 years ago
parent 7d0b48d7bf
commit c9108c6d81

@ -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;

@ -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,6 +40,7 @@ int main (int argc, char **argv) {
return 1;
}
for (loop = 0; loop < 5; loop++) {
//
// send some data
snprintf (buffer, NET_BUFFERSIZE, "nur ein kleiner Test.");
@ -56,6 +58,8 @@ int main (int argc, char **argv) {
break;
}
sleep (1);
}
//
// close connection
tcpclient.Close();

@ -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;

Loading…
Cancel
Save