extend BSD socket examples (create more messages for a stress test)

This commit is contained in:
Stefan Lankes 2011-09-17 00:56:52 +02:00
parent ce4bfa61bd
commit e5ac848901
2 changed files with 34 additions and 3 deletions

View file

@ -12,10 +12,14 @@
#undef errno
extern int errno;
#define QUIT 0
#define S2C 1
#define MAX_BUF 100
#define N 10
int main(int argc, char* argv[])
{
int i, cmd;
int sockd;
int count;
struct sockaddr_in serv_name;
@ -48,10 +52,24 @@ int main(int argc, char* argv[])
exit(1);
}
count = read(sockd, buf, MAX_BUF);
write(1, buf, count);
for(i=0, cmd=S2C; i<N; i++) {
// request new message
write(sockd, &cmd, sizeof(int));
// dump current value of i
snprintf(buf, MAX_BUF, "%d. ", i);
write(1, buf, strlen(buf));
// read new message and dump the incoming message on the screen
count = read(sockd, buf, MAX_BUF);
write(1, buf, count);
}
cmd = QUIT;
write(sockd, &cmd, sizeof(int));
close(sockd);
printf("Leave client...\n");
return 0;
}

View file

@ -14,12 +14,16 @@ extern int errno;
static char msg[] =" Hello from server!\n";
#define QUIT 0
#define S2C 1
int main(int argc, char* argv[])
{
int sockd, sockd2;
unsigned int addrlen;
struct sockaddr_in my_name, peer_name;
int status;
int cmd, i=0;
/* create a socket */
sockd = socket(AF_INET, SOCK_STREAM, 0);
@ -64,7 +68,16 @@ int main(int argc, char* argv[])
perror("Wrong connection");
exit(1);
}
write(sockd2, msg, strlen(msg)+1);
again:
read(sockd2, &cmd, sizeof(cmd));
printf("server got %d. command: %d\n", i, cmd);
i++;
if (cmd == S2C)
write(sockd2, msg, strlen(msg)+1);
if (cmd != QUIT)
goto again;
close(sockd2);
}