Am 28.11.2012 19:30, schrieb david peahi:
Many years ago the standard books on application network programming were based on C language. Books such as "Adventures in UNIX Network Programming", and Professor Comer's "Internetworking with TCP/IP Vol 3" detailed how to write C programs using BSD sockets where binding to a socket brought the program up in listening mode on an 2 tuple IP v4 IP address/TCP well known port. Once the program opened and bound to a socket "netstat -n" would show that program to be "listening" on the 2-tuple.
Do today's programmers still use basic BSD socket programming? Is there an equivalent set of called procedures for IPv6 network application programming?
On the practical side: Have all programmers created a 128 bit field to store the IPv6 address, where IPv4 programs use a 32 bit field to store the IP address? This would seem to be similar to the year 2000 case where almost all programs required auditing to see if they took into account dates after 1999.
on linux/unix: if the program only opens a tcp-connection or listen on it, it's simple. socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) -> socket = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) It's more work, to build a dual-stack program - then 2 sockets needs to be opened and handled. But overall - it's trivial. y2k: the will be app's that will it never made to ipv6 - but you can do ipv6->ipv4 translation NAT-PT (RFC2766) Kind regards, Ingo Flaschberger