/* Simple server waiting for connections and printing all messages read */ #include #ifdef __STDIO__ #define IBM #endif #define MY_SOCKET 0x4242 #ifdef IBM #include #include #include #include #define u_long ulong #else #include #include #include #endif /* not on IBM */ #include #include main() { int sock, length; struct sockaddr_in server; struct sockaddr_in client; static int client_l=sizeof(client); int msgsock; char buf[1024]; int rc; unsigned long ready; unsigned long writy; unsigned long excpy; unsigned long mask; struct tm to; #ifdef IBM tcp_debug(1); #endif /* create socket */ sock=socket(AF_INET, SOCK_DGRAM, 0); if (sock<0) { perror("opening stream socket"); exit(1); } /* Name socket using wildcards */ server.sin_family=AF_INET; server.sin_addr.s_addr=INADDR_ANY; server.sin_port=ntohs(MY_SOCKET); if (bind(sock, &server, sizeof(server))) { perror("binding stream socket"); exit(1); } #if 0 /* find out assigned port number and print it */ length=sizeof(server); if (getsockname(sock, &server, &length)) { perror("getting socket name"); exit(1); } #endif printf("Socket has port #%d\n", ntohs(server.sin_port)); /* start accepting connections */ mask=1<