IPv6的数据包包头与IPv4的数据包头不一样,所以在IPv6下的socket编程用到的某些结构体和地址转换函数也与IPv4下的socket编程不一样。涉及的结构体有:IPv4中使用sockaddr/sockaddr_in/in_addr (IPv4), 而IPv6中使用sockaddr6_in/in6_addr/addrinfo (IPv6);函数有:IPv4中使用inet_ntoa/inet_aton来转化字符串形式表示的IPv4地址和数字形式表示的IPv4地址,而IPv6中使用inet_ntoa/inet_atoa。具体可参见这里。
以下为IPv6下简单的服务器、客户端socket编程。
服务器:
客户端: