Python socket bind to any IP?

Posted on

Question :

Python socket bind to any IP?

I have a small one sided message sender that works while I specify the IP to connect to in code, however, I am having trouble allowing the socket to accept connections from any IP. Here is the line that is the problem.

mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.bind ( ( '', 2727 ) )

The '' is for localhost, and it works if I manually enter IP, eg '', however, how can I leave it open to all? Or am I using the wrong connection type for this?

Asked By: Trent


Answer #1:

If you want to bind to all available IPv4 addresses, specify as your IP address. If you’re behind a router and wish to have your socket internet-accessible, rather than just available on your LAN, you’ll need to set up a port forwarding rule so that users outside your LAN can access the service.

See the following ServerFault question for more info on

Answered By: Polynomial

Answer #2:

Binding to '' has the same effect as to '' makes the transition to IPv6 easier.

Depending on the OS, opening a socket.AF_INET6 socket listens to IPv4 and IPv6.

Answered By: glglgl

Answer #3:

Binding to will allow it to accept connections from any IPv4 address that can route to it.

Leave a Reply

Your email address will not be published. Required fields are marked *