如何获取 Crossbar.io 主机名?
How to get Crossbar.io host name?
我使用 crossbar.io 写聊天。我们有几个聊天节点。
我需要写关于每个节点的统计信息,这就是为什么我需要获取特定节点 运行.
的主机名
是否可以从组件实例中获取主机名?
我使用最新版本的 crossbar/autobahn 和 python 3.4.
如果我使用本地环境,期望得到 - 127.0.0.1。
只需使用套接字库:
import socket
hostname = socket.gethostname()
如果您的机器有可解析的主机名,请尝试:
import socket
socket.gethostbyname(socket.getfqdn())
更新。这是一个更完整的解决方案,应该适用于所有 OS:
导入套接字<br>
打印 [l for l in ([ip for ip in socket.gethostbyname_ex(
socket.gethostname())[2] 如果不是 ip.startswith('127.')][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()
) 对于 [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) 中的 s
如果 l][0][0]
我使用 crossbar.io 写聊天。我们有几个聊天节点。 我需要写关于每个节点的统计信息,这就是为什么我需要获取特定节点 运行.
的主机名是否可以从组件实例中获取主机名?
我使用最新版本的 crossbar/autobahn 和 python 3.4.
如果我使用本地环境,期望得到 - 127.0.0.1。
只需使用套接字库:
import socket
hostname = socket.gethostname()
如果您的机器有可解析的主机名,请尝试:
import socket
socket.gethostbyname(socket.getfqdn())
更新。这是一个更完整的解决方案,应该适用于所有 OS:
导入套接字<br>
打印 [l for l in ([ip for ip in socket.gethostbyname_ex(
socket.gethostname())[2] 如果不是 ip.startswith('127.')][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()
) 对于 [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) 中的 s
如果 l][0][0]