From: Masatoshi SEKI Date: 2013-03-01T23:52:19+09:00 Subject: [ruby-list:49242] Re: dRuby IPv6 咳といいます。 On 2013/03/01, at 21:40, masa wrote: > スイスの畠山です。 > > dRubyについての質問です。 > > 普通、同じアドレスでdRubyサーバーを起動すると、 > > ruby/1.9.1/drb/drb.rb:861:in `initialize': Address already in use - > bind(2) (Errno::EADDRINUSE) > > みたいなエラーが出て起動できないのですが、こちらのとあるサーバーでは2つ目まで同じアドレスで起動できてしまいます。 > > $ ps aux|grep puts00 > 18603 0.0 0.0 139800 5884 pts/3 Sl+ 11:29 0:00 ruby > puts00.rb druby://localhost:7777 > 18619 0.1 0.0 139816 5888 pts/5 Sl+ 11:29 0:00 ruby > puts00.rb druby://localhost:7777 > > サンプルは咳さんのサイトから取ってきたものです。 > http://www2a.biglobe.ne.jp/seki/ruby/src/puts00.rb > > で、調べてみるとどうも2つ目は勝手にIPv6にスイッチしているようです。 > > $ sudo netstat -autpn | grep ruby > tcp 0 0 0.0.0.0:4000 0.0.0.0:* > LISTEN 4464/ruby > tcp 0 0 127.0.0.1:7777 0.0.0.0:* > LISTEN 18619/ruby > tcp6 0 0 ::1:12345 :::* > LISTEN 18142/ruby > tcp6 0 0 ::1:7777 :::* > LISTEN 18603/ruby > > 3つ目は期待通りのエラーが出て起動しません。 > > OS: Debian 6.0 > Ruby: 1.9.3p327 > > 2つ目の起動を阻止するような対処方法をどなたかご存じないでしょうか。 ええっ、こんな風に動くんですか!! たとえば、IPアドレスを直接書いてみたらどうなるでしょうか? druby://127.0.0.1:7777 などです。