/* tcp torture test. sends 1024-byte values as quickly as possible once connection established. */ #include #include #include #include #include #include #include #include #include #define RPORT 30000 #define BUFSIZE 1024 int main() { int r; // generic use unsigned char buffer[BUFSIZE]; // 1K buffer 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); // create server socket 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); // accept connection if (cfd<0) exit(1); // error? printf(" ***** connection established\n"); // assign some data (ascii-range values) to buffer: // First 4 bytes of buffer will indicate a sequence number: for(r=4;r