@@ -70,6 +70,13 @@ created. Socket addresses are represented as follows:
70
70
notation like ``'daring.cwi.nl' `` or an IPv4 address like ``'100.50.200.5' ``,
71
71
and *port * is an integer.
72
72
73
+ - For IPv4 addresses, two special forms are accepted instead of a host
74
+ address: ``'' `` represents :const: `INADDR_ANY `, which is used to bind to all
75
+ interfaces, and the string ``'<broadcast>' `` represents
76
+ :const: `INADDR_BROADCAST `. This behavior is not compatible with IPv6,
77
+ therefore, you may want to avoid these if you intend to support IPv6 with your
78
+ Python programs.
79
+
73
80
- For :const: `AF_INET6 ` address family, a four-tuple ``(host, port, flowinfo,
74
81
scopeid) `` is used, where *flowinfo * and *scopeid * represent the ``sin6_flowinfo ``
75
82
and ``sin6_scope_id `` members in :const: `struct sockaddr_in6 ` in C. For
@@ -154,12 +161,6 @@ created. Socket addresses are represented as follows:
154
161
155
162
.. XXX document them!
156
163
157
- For IPv4 addresses, two special forms are accepted instead of a host address:
158
- the empty string represents :const: `INADDR_ANY `, and the string
159
- ``'<broadcast>' `` represents :const: `INADDR_BROADCAST `. This behavior is not
160
- compatible with IPv6, therefore, you may want to avoid these if you intend
161
- to support IPv6 with your Python programs.
162
-
163
164
If you use a hostname in the *host * portion of IPv4/v6 socket address, the
164
165
program may show a nondeterministic behavior, as Python uses the first address
165
166
returned from the DNS resolution. The socket address will be resolved
0 commit comments