I write chat using crossbar.io. We have several nodes of chat.
I need write statistics about each of nodes, that's why I need to get host name where specific node is run.
Is it possible get host name from component instance?
I use last version of crossbar/autobahn and python 3.4.
Expect get - 127.0.0.1 if I use local environment.
In case of your machine has a resolvable hostname try with:
import socket
socket.gethostbyname(socket.getfqdn())
Update. This is a more complete solution, should work fine with all OS:
import socket
print [l for l in ([ip for ip in socket.gethostbyname_ex(
socket.gethostname())[2] if not ip.startswith('127.')][:1], [[(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()
) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]])
if l][0][0]
How to get Crossbar.io host name?