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