/* typical header files */ #include #include #include #include /* sockets/internet header files */ #include #include #include #include int my_port = 60001; int main(int argc, char* argv[]){ if( argc > 1 ) my_port += atoi(argv[1]); int myListenSocket, clientSocket; struct sockaddr_in myAddr, clientAddr; int i, addrSize, bytesRcv; char buffer[300]; char buffer2[300]; /* create socket */ myListenSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (myListenSocket < 0) { printf("eek! couldn't open socket\n"); exit(-1); } /* setup my server address */ memset(&myAddr, 0, sizeof(myAddr)); myAddr.sin_family = AF_INET; myAddr.sin_port = htons((unsigned short) my_port); myAddr.sin_addr.s_addr = htonl(INADDR_ANY); /* bind my listen socket */ i = bind(myListenSocket, // socket descriptor (struct sockaddr *) &myAddr, // pointer to sockaddr sizeof(myAddr)); // size of said sockaddr if (i < 0) { printf("eek! couldn't bind socket\n"); exit(-1); } /* listen */ i = listen(myListenSocket, 5); if (i < 0) { printf("eek! couldn't listen\n"); exit(-1); } /* wait for connection request */ addrSize = sizeof(clientAddr); clientSocket = accept(myListenSocket, (struct sockaddr *) &clientAddr, &addrSize); if (clientSocket < 0) { printf("eek! couldn't accept the connection\n"); exit(-1); } /* read message from client and do something with it */ while (1) { bytesRcv = recv(clientSocket, buffer, sizeof(buffer), 0); buffer[bytesRcv] = 0; strcpy(buffer2,buffer); for( int i=0; i