Xinetdを介してRubyスクリプトからクライアントIPを取得します
質問
Xinetdによって起動されたRubyスクリプト内からクライアントIPアドレスをストリームソケットから取得するにはどうすればよいですか? PHPでは、使用するだけです stream_socket_get_name(STDIN, true);
前もって感謝します!
解決
ソリューションをたくさん検索したり、FreeNodeの#Rubyチャンネルで尋ねたり、完全に無視されたりしようとさえした後、最終的に解決策を見つけました。
def to_ip(addr)
(4...8).map{|x|addr[x]}.join('.')
end
socket = Socket.for_fd(STDIN.fileno)
ip = to_ip(socket.getpeername)
これが誰かを助けることを願っています!
所属していません StackOverflow