/* * Example of client using TCP protocol. */ #include #include #include #include #include #include "message.h" #define SERV_HOST_ADDR "156.12.127.18" /* acad's Internet address, defined in /etc/hosts */ main(argc, argv) int argc; char *argv[]; { int sockfd, i; struct sockaddr_in serv_addr; int SERV_TCP_PORT; char *pname; MES mes_out, mes_in, tmp; printf("Please input the same integer input to the ser program\n"); printf(" (which is larger than 1023)\n"); scanf("%d", &SERV_TCP_PORT); pname = argv[0]; /* create a socket which is one end of a communication channel */ if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("client: cannot open stream socket"); exit(1); } /* specify server address */ bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; /* address family: Internet */ serv_addr.sin_addr.s_addr = inet_addr(SERV_HOST_ADDR); serv_addr.sin_port = htons(SERV_TCP_PORT); mes_out.mtype = htonl(getpid()); for(i=0; i<10; i++) { mes_out.number = htonl(i); if(sendto(sockfd, &mes_out, sizeof(MES),0, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) == -1) { perror("client: write"); exit(3); } // Slow things down, a quarter-second at a time usleep(250000); } close(sockfd); exit(0); }