原です。 > まつもと ゆきひろです. > |remote_host_addr = s.getpeername.unpack('S n C4 x8,')[2..5].join('.') > | > |でいいでしょうか? > > のようにs.getpeernameをつかうしか方法は無いと思うのですが, > あんまり嬉しくないですね.次のリリースではTCPsocket#addrの戻 > り値の第4要素にIPアドレス(の文字列表現,"202.25.127.133"とか) > を含めるようにしましょうかねえ. それはますますありがたいですね。(^_^) > |これを実行する度に問い合わせに行くかしら? > > getpeername(2)は毎回実行されます.あまり重くないとは思います > けど. わかりました。いえ、Windows95 では、その度にダイアラーが 立ち上がったりするので。 #もっとも Win では socket は使えないのですが。(^^; > |それから、gethostbyname などの関数は ruby で使えますか。 > > 現状では使えません.使えた方が良いのかもしれませんが,どうい > う風にしたもんだか.というのもstruct hostentのようなポインタ > を含む構造体をpack/unpackするのはあまりにも危険なので…. > > # しかしSocketクラスがある以上はいつかやらねばならないのだろ > # うなあ. > > でも,できれば(無理でなければ)TCPsocketなどの高レベルクラス > を使って欲しいですね. はい、TCPsocket の使いやすさは特筆ものですね。(Perl5 で も便利なライブラリがあるみたいですけれど。)でも、やっぱ り無いよりあったほうがありがたいです。いずれお願いします。 実は、例の httpd をいじっているのですが、CGI によっては、 環境変数 REMOTE_HOST, REMOTE_ADDR を渡してあげないといけ ないものがあるので聞きました。 Shin-ichro Hara(Nagaoka Univ.of Tech.)