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