python套接字getsockname没有提供ipv6地址

2024-04-28 21:48:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有我的python代码来获取远程机器的ipv6地址socket.getsockname. 它在python2.7.3中运行得非常完美。但在使用python2.7.11的系统中,它给出了错误的值。希望得到一些帮助,以便更好地理解这个问题

我有两台机器,一台是python2.7.3,另一台是python2.7.11+。我在两台机器上都试过下面的程序。你知道吗

def checkit():
        s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
        s.connect(('10.10.10.10', 80))
        print "ipv6 address\n%s" % str(s.getsockname()[0])

checkit()

在Python2.7.3中(预期结果

ipv6 address
2001:420:404a:2018:155d:30ea:c897:76e9

在Python 2.7.11中

ipv6 address
::1

Tags: 代码程序机器远程address地址系统def