我正在用Python编写一个简单的RPC服务器,以便在实验室环境中的内部网络上使用。当我使用如下代码创建服务器时:
server = SimpleXMLRPCServer(("", 8000))服务器似乎会监听多个可用的接口(即本地主机和计算机的公共IP地址),就像我想要的那样。
有没有一种简单且最好是可移植的方法,让我的服务器脚本确定它正在侦听哪些IP地址?
它通常会在安装了动态地址和Python2.6的随机Windows机器上运行,如果我的服务器可以打印出某种类型的“监听地址1:端口地址2:端口...”,这将是很有帮助的。消息,当它启动的时候。我已经看到了与获取客户端地址相关的其他问题,但我正在查找服务器地址。
发布于 2014-05-10 07:59:05
import socket
print([(s.connect(('8.8.8.8', 80)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1])我发现这个页面还有其他一些有用的方法:Finding local IP addresses using Python's stdlib
https://stackoverflow.com/questions/23574461
复制相似问题