Получение клиентского IP из Ruby скрипта через xinetd - PullRequest
2 голосов
/ 27 августа 2010

Как я могу получить IP-адрес клиента из скрипта Ruby, который запускается xinetd через сокет потока?В PHP я бы просто использовал stream_socket_get_name(STDIN, true);

Заранее спасибо!

1 Ответ

2 голосов
/ 02 сентября 2010

После долгих поисков решения и даже пытаясь спросить на канале #ruby на Freenode и будучи полностью проигнорированным, я наконец нашел решение:

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

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

Надеюсь, это кому-нибудь поможет!

...