/************* UDP CLIENT EXAMPLE*******************/

#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*********/