Frage

Wie kann ich die Client-IP-Adresse aus dem Innern einer Ruby-Skript erhalten, die von xinetd über einen Stream-Socket gestartet wird? In PHP würde ich nur stream_socket_get_name(STDIN, true);

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Nach viel für die Lösung suchen, und sogar versuchen, auf dem #ruby Kanal auf Freenode zu stellen und vollständig ignoriert wird, habe ich endlich die Lösung gefunden:

def to_ip(addr)
  (4...8).map{|x|addr[x]}.join('.')
end

socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)

Hope, das hilft jemand!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top