質問

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)

これが誰かを助けることを願っています!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top