f28a408305d8a3e33238730f77568604e8df04e0
[gapil.git] / listati / UDP_echo.c
1 void ClientEcho(FILE * filein, int socket, struct sockaddr_in *serv_add);
2 void SigTERM_hand(int sig);
3
4 /* Program begin */
5 int main(int argc, char *argv[])
6 {
7 /* 
8  * Variables definition  
9  */
10     int sock, i;
11     struct sockaddr_in serv_add;
12     ...
13     /* create socket */
14     if ( (sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
15         perror("Socket creation error");
16         return 1;
17     }
18     /* initialize address */
19     memset((void *) &serv_add, 0, sizeof(serv_add)); /* clear server address */
20     serv_add.sin_family = AF_INET;                   /* address type is INET */
21     serv_add.sin_port = htons(7);                    /* echo port is 7 */
22     /* build address using inet_pton */
23     if ( (inet_pton(AF_INET, argv[optind], &serv_add.sin_addr)) <= 0) {
24         perror("Address creation error");
25         return 1;
26     }
27     connect(sock, &serv_add, sizeof(*serv_add));
28     /* do read/write operations */
29     ClientEcho(stdin, sock);
30     /* normal exit */
31     return 0;
32 }