Python套接字绑定到任何IP?

Tre*_*ent 27 python sockets

我有一个小的单面消息发送器,当我在代码中指定要连接的IP时工作,但是,我无法允许套接字接受来自任何IP的连接.这是问题的界限.

mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.bind ( ( '', 2727 ) )
Run Code Online (Sandbox Code Playgroud)

''是本地主机,和它的作品,如果我手动输入IP,例如'192.168.1.106',但是,我怎么能离开它向所有人开放?或者我使用错误的连接类型?

Pol*_*ial 37

如果要绑定到所有可用的IPv4地址,请指定0.0.0.0为您的IP地址.如果您在路由器后面并希望您的套接字可以访问Internet,而不是仅在LAN上可用,则需要设置端口转发规则,以便LAN外的用户可以访问该服务.

有关以下内容的详细信息,请参阅以下ServerFault问题0.0.0.0:https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0- 1


glg*_*lgl 12

绑定''具有相同的效果,'0.0.0.0'使得向IPv6的过渡更容易.

根据操作系统的不同,打开socket.AF_INET6套接字会侦听IPv4和IPv6.


Ign*_*ams 5

绑定到 0.0.0.0 将允许它接受来自任何可以路由到它的 IPv4 地址的连接。