Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <string.h>
- #include <arpa/inet.h>
- #include <time.h>
- int main(int argc, char ** argv){
- int sock;
- char buffer[1024];
- struct sockaddr_in addr;
- socklen_t addr_size;
- sock = socket(PF_INET, SOCK_STREAM, 0);
- addr.sin_family = AF_INET;
- addr.sin_port = htons(8500);
- addr.sin_addr.s_addr = inet_addr("127.0.0.1");
- memset(addr.sin_zero, '\0', sizeof addr.sin_zero);
- addr_size = sizeof addr;
- if (connect(sock, (struct sockaddr *) &addr, addr_size) < 0) {
- printf("connect error \n");
- }
- int i = 0;
- int n = atoi(argv[1]);
- struct timespec tstart={0,0}, tend={0,0};
- clock_gettime(CLOCK_MONOTONIC, &tstart);
- for (i = 0; i < n; i++) {
- if (send(sock,buffer,1024,0) < 1024) {
- printf("Send error\n");
- exit(1);
- }
- int cnt = 0;
- while (cnt < 1024) {
- int ret = recv(sock, buffer+cnt, 1024-cnt, 0);
- if (ret < 0) {
- printf("recv error\n");
- exit(1);
- }
- cnt += ret;
- }
- }
- clock_gettime(CLOCK_MONOTONIC, &tend);
- printf("%d request-response of 1024 took %.5f seconds\n", n,
- ((double)tend.tv_sec + 1.0e-9*tend.tv_nsec) -
- ((double)tstart.tv_sec + 1.0e-9*tstart.tv_nsec));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement