因此,我正在尝试获取程序正在运行的机器的 LAN IP 地址,并将其与通过 UDP 传递给它的 IP 地址进行比较。
但是,当我使用:
print str(socket.gethostbyname(socket.gethostname()))
它返回 127.0.0.1,应该是 192.168.1.9。
我查看了 linux 机器及其获取 lo(loopBack)端口的 IP 地址?我不知道那是什么,但它应该获取 eth0 的 IP 地址。
我发现我可以对 bash 命令“ifconfig eth0”进行子处理,但这会返回一大块字符串。我可以将它处理成我需要的东西,但这将在 beaglebone 上每秒运行大约 3 次,所以我希望它更高效一些。
有没有更优雅的方式来做到这一点?
我可以更改 gethostname 的目标吗?
为什么它针对 lo 端口?
感谢您的帮助。