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!

Était-ce utile?

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
scroll top