Poo*_*zer 5 python ubuntu network-programming
所以我试图获取程序运行的机器的LAN IP地址,并将其与通过UDP传递给它的IP地址进行比较.
但是当我使用时:
print str(socket.gethostbyname(socket.gethostname()))
Run Code Online (Sandbox Code Playgroud)
它返回127.0.0.1,应该是192.168.1.9.
我查看了linux机器并获取了lo(loopBack)端口的IP地址?我不确切知道那是什么,但它应该是获取eth0的IP地址.
我发现我可以对bash命令"ifconfig eth0"进行子处理,但是返回一个字符串的大块.我可以将它处理到我需要的东西,但这将在beaglebone上每秒运行3次左右,所以我希望它更有效一点.
有更优雅的方式吗?
我可以改变gethostname的目标吗?
为什么它针对的是lo端口?
感谢您的帮助.
归档时间: |
|
查看次数: |
5350 次 |
最近记录: |