From: INABA Nobuhiko Date: 2003-04-15T08:30:13+09:00 Subject: [ruby-list:37562] Re: DRb:SocketError いなばです。 > darray.rbではこういったエラーはでないですか? darray.rbではエラーはでませんでした。 > % ruby -r socket -ve 'p $:; p TCPServer.new(0).addr' > でどうなりますか? > ネットワークをどう設定したら解決するのかちょっとわからないのです。 > TCPServer#addrが(getaddrinfoが)失敗するのはなぜなんでしょうか? [xxx@zzz sample]$ ruby -r socket -ve 'p $:; p TCPServer.new(0).addr' ruby 1.6.7 (2002-03-01) [i686-linux] ["/usr/local/lib/ruby/site_ruby/1.6", "/usr/local/lib/ruby/site_ruby/1.6/i686-li nux", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.6", "/usr/local/li b/ruby/1.6/i686-linux", "."] ["AF_INET", 41171, "0.0.0.0", "0.0.0.0"] というようになりました。 咳さんより、私信で[druby-ja:80]を転送いただきました。 こちらでご指摘いただいた方法で、サンプルが動くことを確認しました。 > [ruby-list:37560], [ruby-list:37374], [ruby-dev:19693]などのように > TCPServer#addrで例外が発生してしまうケースがあるようです。 > > port==0のときにだけTCPServer#addrを呼ぶように変更したdrb-2.0.4a1を > アーカイブしました。 > > * http://www2a.biglobe.ne.jp/~seki/ruby/drb-2.0.4a1.tar.gz > > DRb.start_service('druby://:12345')やDRb.start_service('druby:// localhost:12345')の > ようにポート番号を明示的に指定すれば、TCPServer#addrで例外が発生してし まうケース > でもdRubyが利用できるんじゃないかと思います。 とりあえず、なんとかなりそうです。 ありがとうございました。 -- いなば