int main(int argc, char *argv[]) { int sock; char* msg; struct sockaddr_in saddr; if (argc != 4) { fprintf(stderr, "usage: dgsend host port 'message'\n"); exit(1); } msg = argv[3]; if ((sock = make_dgram_client_socket()) == -1) { oops("cannot make socket", 2); } if (make_internet_address(argv[1], atoi(argv[2]), &saddr) == -1) { oops("make addr", 4); } if (sendto(sock, msg, strlen(msg), 0, (struct sockaddr*)&saddr, sizeof(saddr)) == -1) { oops("sendto failed", 3); } return 0; }
/* * setup: get pid, socket, and address of license server * IN no args * RET nothing, dies on error * notes: assumes server is on same host as client */ setup() { char hostname[BUFSIZ]; pid = getpid(); /* for ticks and msgs */ sd = make_dgram_client_socket(); /* to talk to server */ if ( sd == -1 ) oops("Cannot create socket"); gethostname(hostname, HOSTLEN); /* server on same host */ make_internet_address(hostname, SERVER_PORTNUM, &serv_addr); serv_alen = sizeof(serv_addr); }
/****************************************************************** * setup: get pid, socket, and address of license server * IN no args * RET nothing, dies on error * notes: assumes server is on the same host as client */ void setup() { char hostname[BUFSIZ]; pid = getpid(); // for ticks and msgs sd = make_dgram_client_socket(); // to talk to server if(sd == -1) oops("Cannot create scoket"); gethostname(hostname,HOSTLEN); // server on the same host make_internet_address(hostname,SERVER_PORTNUM, (struct sockaddr_in *)&serv_addr); serv_alen = sizeof(serv_addr); }
// setup: get pid, socket, address of server setup() { char hostname[BUFSIZ]; pid = getpid(); // printf("pid %d\n", pid); sd = make_dgram_client_socket(); // printf("sock_id %d\n", sd); if (sd == -1) oops("Cannot create socket"); gethostname(hostname, HOSTLEN); make_internet_address(hostname, SERVER_PORTNUM, &serv_addr); serv_alen = sizeof(serv_addr); // printf("serv_alen %d\n", serv_alen); }