[#954] Rational — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

23 messages 1996/10/30
[#955] Re: Rational — matz@... (Yukihiro Matsumoto) 1996/10/30

まつもと ゆきひろです.

[#968] Re: Rational 1996/10/31

けいじゅ@SHLジャパンです.

[ruby-list:868] Re: [Q]gethostbyname

From: matz@... (Yukihiro Matsumoto)
Date: 1996-10-18 08:15:36 UTC
List: ruby-list #868
まつもと ゆきひろです.

In message "[ruby-list:864] Re: [Q]gethostbyname"
    on 96/10/18, Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp> writes:

|> のようにs.getpeernameをつかうしか方法は無いと思うのですが,
|> あんまり嬉しくないですね.次のリリースではTCPsocket#addrの戻
|> り値の第4要素にIPアドレス(の文字列表現,"202.25.127.133"とか)
|> を含めるようにしましょうかねえ.
|
|それはますますありがたいですね。(^_^)

そのようにしました.次のリリースをお待ちください.

|わかりました。いえ、Windows95 では、その度にダイアラーが
|立ち上がったりするので。
|#もっとも Win では socket は使えないのですが。(^^;

ふーん,そういうものなのですか.

|> |それから、gethostbyname などの関数は ruby で使えますか。

|> できれば(無理でなければ)TCPsocketなどの高レベルクラス
|> を使って欲しいですね.
|
|はい、TCPsocket の使いやすさは特筆ものですね。(Perl5 で
|も便利なライブラリがあるみたいですけれど。)でも、やっぱ
|り無いよりあったほうがありがたいです。いずれお願いします。

gethostbynameそのものにはそれほど問題は無いのですが,
pack/unpackになかなか難しい問題があるのです.というのも
Socketクラスが今提供しているようなperl風pack/unpackで
gethostbynameを実装しようと思えば,ポインタを直接埋め込むp指
定が必要になるのですが,直接ポインタの見えない(しかもGC
のある)rubyではどうやって実装して良いのか悩ましいところです.

考えられるのは

  * perl風のI/Fは止めて新しくSocketクラスを作り直す(高レベル
    ライブラリは変えない)

  * GCに係わらないポインタのクラスを用意してpack/unpackにそ
    れを使わせる

などがありますけど,どれも簡単ってわけにはいきませんねえ.
# やるなら前者かなあ

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next