Obtenir IP du client à partir du script Ruby par xinetd
Question
Comment puis-je obtenir le client IP Adresse à l'intérieur d'un script Ruby qui est lancé par xinetd à travers une prise de courant?
En PHP, je voudrais simplement utiliser stream_socket_get_name(STDIN, true);
Merci à l'avance!
La solution
Après avoir cherché beaucoup pour la solution, et même essayer de poser sur le canal #ruby sur Freenode et complètement ignorés, je l'ai enfin trouvé la solution:
def to_ip(addr)
(4...8).map{|x|addr[x]}.join('.')
end
socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)
Espérons que cela aide quelqu'un!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow