Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The socket API is governed by IETF RFCs and should be the same on all platforms including windows WRT IPv6.</p> <p>For IPv4/IPv6 applications it's <em>ALL</em> about <code>getaddrinfo()</code> and <code>getnameinfo()</code>. <code>getaddrinfo</code> is a genius - looks at DNS, port names and capabilities of the client to resolve the eternal question of “can I use IPv4, IPv6 or both to reach a particular destination?” Or if you're going the dual-stack route and want it to return IPv4-mapped IPv6 addresses, it will do that too.</p> <p>It provides a direct <code>sockaddr *</code> structure that can be plugged into <code>bind()</code>, <code>recvfrom()</code>, <code>sendto()</code> and the address family for <code>socket()</code>… In many cases this means no messy <code>sockaddr_in(6)</code> structures to fill out and deal with.</p> <p>For UDP implementations I would be careful about setting dual-stack sockets or, more generally, binding to all interfaces (<code>INADDR_ANY</code>). The classic issue is that, when addresses are not locked down (see <code>bind()</code>) to specific interfaces and the system has multiple interfaces requests, responses may transit from different addresses for computers with multiple addresses based on the whims of the OS routing table, confusing application protocols—especially any systems with authentication requirements.</p> <p>For UDP implementations where this is not a problem, or TCP, dual stack sockets can save a lot of time when IPv*-enabling your system. One must be careful to not rely entirely on dual-stack where it`s not absolutely necessary as there are no shortage of reasonable platforms (Old Linux, BSD, Windows 2003) deployed with IPv6 stacks not capable of dual stack sockets.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload