18 2.3 Guidelines to (Freelance web design) Address-Family Independent Socket Programming
18 2.3 Guidelines to Address-Family Independent Socket Programming 18 2.3 Guidelines to Address-Family Independent Socket Programming /* THIS IS A VERY BAD PRACTICE */ extern void foo(int); int in; in = htonl(0×7f000001); /* 127.0.0.1 */ foo(in); To handle IPv4 and IPv6 addresses, it is suggested you use sockaddrs, such as sockaddr_in or sockaddr_in6, always. With sockaddrs, the data contains the identification of address family, so we can pass around the address data and know which address family it belongs to. When passing pointers around, use struct sockaddr *, and let the called function handle it. extern int foo(struct sockaddr *); int main(argc, argv) int argc; char **argv; { struct sockaddr_in sin; /* setup sin */ foo((struct sockaddr *)&sin); } int foo(sa) struct sockaddr *sa; { switch (sa->sa_family) { case AF_INET: case AF_INET6: /* do something */ return 0; default: return -1; /*not supported*/ } }
We provides quality the CPanel Web Hosting. All our web hosting plans regular, business and expert are competitively priced and unsurpassed in reliability, uptime, and quality of service.
August 25th, 2009 at 11:33 pm
ozapixetive…
Mugen Vizard Ichigo …
September 25th, 2009 at 2:16 pm
gizekimiw…
postal abbreviations state …