Listing 2. udpsnd
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main(int argc, char **argv) {
int sd, nsd, saddr_len, n;
int uno=1;
struct sockaddr_in addr;
char buffer[1000];
if (argc<3) {
printf("udpsnd <address> <string>\n");
exit(0);
}
bzero(&addr, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_port = htons(6600);
sd = socket(PF_INET, SOCK_DGRAM, 0);
inet_aton(argv[1], &addr.sin_addr);
strcpy(buffer, argv[2]);
sendto(sd, buffer, strlen(buffer), 0,
(struct sockaddr *)&addr, sizeof(addr));
close(sd);
}