2

ストリームソケットを介してxinetdによって起動されるRubyスクリプト内からクライアントIPアドレスを取得するにはどうすればよいですか?PHPでは私はただ使うでしょうstream_socket_get_name(STDIN, true);

前もって感謝します!

4

1 に答える 1

2

解決策をたくさん検索し、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)

これが誰かに役立つことを願っています!

于 2010-09-02T01:04:13.347 に答える