views:

106

answers:

3

All of us who still do some kind of network programming (TCP/UDP, DNS or Client/Server) in C repeatedly use some code snippets again and again.

We do use some standard libraries but then also we do write some code very often which is not there in one library.

Is there a collection of such code snippets that are used very often. If not then lets build it here.

+3  A: 

Good question!

Here is a Name resolution Function

    struct hostent {
        char *h_name; // main name
        char **h_aliases; // alternative names (aliases)
        int h_addrtype; // address type (usually AF_INET)
        int h_length; // length of address (in octets)
        char **h_addr_list; // alternate addresses (in Network Byte Order)
    };
    #define h_addr h_addr_list[0] // First address of h_addr_list.


    struct hostent *info_stackoverflow;
    int i = 0;
    info_stackoverflow = gethostbyname( "www.stackoverflow.com" );
    printf("The IP address of %s is %s", 
           info_stackoverflow->h_name, 
           inet_ntoa( * ((struct in_addr *)info_stackoverflow->h_addr )));
    /* aliases */
    while( *(pc_ip->h_aliases + i) != NULL )
    {
        printf("\n\tAlias: %s", *(pc_ip->h_aliases + i) );
        i++;
    }
AJ
+4  A: 

W. Richard Stephens wrote a collection of such snippets: UNIX Network Programming, Volume 1, Second Edition: Networking APIs: Sockets and XTI

Ewan Todd
+3  A: 

Here is UNIX Network Programming, Volume 1, Third Edition Source Code Here

AJ