#include "unp.h"
int
main(int argc, char **argv)
{
int sockfd;
struct
sockaddr_in servaddr;
if (argc
!= 2)
err_quit("usage:
udpcli <IPaddress>");
bzero(&servaddr,
sizeof(servaddr));
/* CREATE SERVER ADDRESS */
servaddr.sin_family
= AF_INET;
servaddr.sin_port
= htons(SERV_PORT);
Inet_pton(AF_INET,
argv[1], &servaddr.sin_addr);
/*CREATE UDP SOCKET*/
sockfd
= Socket(AF_INET, SOCK_DGRAM, 0);
dg_cli(stdin,
sockfd, (SA *) &servaddr, sizeof(servaddr));
exit(0);
}
/********** SERVICE REQUEST ROUTINE *********************/
#include "unp.h"
#define NDG 2000 /* #datagrams
to send */
#define DGLEN 1400 /* length
of each datagram */
void dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen)
{
int i;
char sendline[MAXLINE];
for (i
= 0; i < NDG; i++) {
Sendto(sockfd, sendline, DGLEN,
0, pservaddr, servlen);
}
}
/**** REF: STEVENS UX NETWORK PROGRAMMING, SECTION 8.13/ PAFE 229*********/