Commit 95dfb9c3 authored by johnthagen's avatar johnthagen Committed by Christian Heimes

bpo-33921: Clarify how to bind to all interfaces using socket (GH-7877)

Clarify how to bind to all interfaces using socket
parent 937fb55d
......@@ -70,6 +70,13 @@ created. Socket addresses are represented as follows:
notation like ``'daring.cwi.nl'`` or an IPv4 address like ``'100.50.200.5'``,
and *port* is an integer.
- For IPv4 addresses, two special forms are accepted instead of a host
address: ``''`` represents :const:`INADDR_ANY`, which is used to bind to all
interfaces, and the string ``'<broadcast>'`` represents
:const:`INADDR_BROADCAST`. This behavior is not compatible with IPv6,
therefore, you may want to avoid these if you intend to support IPv6 with your
Python programs.
- For :const:`AF_INET6` address family, a four-tuple ``(host, port, flowinfo,
scopeid)`` is used, where *flowinfo* and *scopeid* represent the ``sin6_flowinfo``
and ``sin6_scope_id`` members in :const:`struct sockaddr_in6` in C. For
......@@ -171,12 +178,6 @@ created. Socket addresses are represented as follows:
.. XXX document them!
For IPv4 addresses, two special forms are accepted instead of a host address:
the empty string represents :const:`INADDR_ANY`, and the string
``'<broadcast>'`` represents :const:`INADDR_BROADCAST`. This behavior is not
compatible with IPv6, therefore, you may want to avoid these if you intend
to support IPv6 with your Python programs.
If you use a hostname in the *host* portion of IPv4/v6 socket address, the
program may show a nondeterministic behavior, as Python uses the first address
returned from the DNS resolution. The socket address will be resolved
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment