1 #include "unp.h"
2
3 int
main(int argc,char ** argv)4 main(int argc, char **argv)
5 {
6 int sockfd, n;
7 char recvline[MAXLINE + 1];
8 socklen_t salen;
9 struct sockaddr *sa, *sabind;
10
11 if (argc != 3)
12 err_quit("usage: test2 <hostname/IPaddress> <service/port#>");
13
14 sockfd = Udp_client(argv[1], argv[2], (void **) &sa, &salen);
15
16 /* Same as daytimeudpcli1, but we explicitly bind the wildcard */
17 sabind = Malloc(salen);
18 bzero(sabind, salen);
19 sabind->sa_family = sa->sa_family;
20 Bind(sockfd, sabind, salen);
21 printf("bound %s\n", Sock_ntop(sabind, salen));
22
23 printf("sending to %s\n", Sock_ntop_host(sa, salen));
24
25 Sendto(sockfd, "", 1, 0, sa, salen); /* send 1-byte datagram */
26
27 n = Recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL);
28 recvline[n] = 0; /* null terminate */
29 Fputs(recvline, stdout);
30
31 exit(0);
32 }
33