#include #include #include #include #include #include #include #include #include #define RPORT 30000 int main() { int r; // random number int rn; struct sockaddr_in serverinfo; struct sockaddr_in clientinfo; int sfd, cfd; // server and client descriptors // set info for serverinfo struct serverinfo.sin_family = AF_INET; serverinfo.sin_port = htons(RPORT); serverinfo.sin_addr.s_addr = htonl(INADDR_ANY); //wildcard sfd = socket(AF_INET,SOCK_STREAM,0); bind(sfd,(struct sockaddr *)&serverinfo,sizeof(serverinfo)); listen(sfd,16); // 16 is max size of waiting queue r = sizeof(clientinfo); cfd = accept(sfd,(struct sockaddr *)&clientinfo,&r); if (cfd<0) exit(1); r = 1; rn = htonl(r); write(cfd,&rn,4); close(cfd); close(sfd); exit(0); }