[#39989] TCPSocket.new でスレッドが止まる。 — take_tk <ggb03124@...>

たけ(tk)です。

15 messages 2004/09/02

[#40018] yaml.rbとdate.rbを組み合わせて使った際の問題 — "Keisuke Minami" <keisuke@...>

こんにちは。三並と申します。

14 messages 2004/09/07
[#40020] Re: yaml.rbとdate.rbを組み合わせて使った際の問題 — IWATSUKI Hiroyuki <don@...> 2004/09/07

岩月と申します。

[ruby-list:40066] Re: サンプルが動きません("dRuby によ

From: Masatoshi SEKI <m_seki@...>
Date: 2004-09-23 08:06:50 UTC
List: ruby-list #40066
咳といいます。

> 	% ruby tick.rb druby://127.0.0.1:11111
> 	% ruby clock.rb druby://127.0.0.1:11111
>
> を 2つの terminal にて実行するのですが、clock.rb を実行すると
>
> (druby://127.0.0.1:11111) /usr/local/lib/ruby/1.8/drb/drb.rb:706:in 
> `open': druby://hoge.example.jp:62600 - #<Errno::ECONNREFUSED: 
> Connection refused - connect(2)> (DRb::DRbConnError)

druby://hoge.example.jp:62600と表示されますか?
ホスト名やDNSは正しいですか?

clock.rbで明示的にURIを指定して実験したらどうなりますか?

# clock.rb
require 'drb/drb'

class Clock
   include DRbUndumped

   def initialize(tick)
     @tick = tick
     @tick.add_observer(self)
   end

   def update(h, m, s)
     printf "\e[8D%02d:%02d:%02d", h, m, s
     STDOUT.flush
   end
end

uri = ARGV.shift || raise("usage: #{$0} <URI>")
DRb.start_service(nil, 'druby://127.0.0.1:11112')
tick = DRbObject.new(nil, uri)
clock = Clock.new(tick)

puts '[return] to exit.'
gets


# tick.rb
require 'drb/drb'
require 'observer'

class Tick
   include Observable

   def start
     loop do
       sleep 0.999
       now = Time.now
       changed
       notify_observers(now.hour, now.min, now.sec)
     end
   end
end

tick = Tick.new
uri = ARGV.shift || 'druby://127.0.0.1:11111'
DRb.start_service(uri, tick)
Thread.new do
   tick.start
end

puts DRb.uri
puts '[return] to exit'
gets


In This Thread