1=begin
2 distributed Ruby --- chat client
3 	Copyright (c) 1999-2000 Masatoshi SEKI
4=end
5
6require 'drb/drb'
7
8class ChatClient
9  include DRbUndumped
10
11  def initialize(name)
12    @name = name
13    @key = nil
14  end
15  attr_reader(:name)
16  attr_accessor(:key)
17
18  def message(there, str)
19    raise 'invalid key' unless @key == there
20    puts str
21  end
22end
23
24if __FILE__ == $0
25  begin
26    there = ARGV.shift
27    name = ARGV.shift
28    raise "usage" unless (there and name)
29  rescue
30    $stderr.puts("usage: #{$0} <server_uri> <your_name>")
31    exit 1
32  end
33  DRb.start_service
34  ro = DRbObject.new(nil, there)
35
36  chat = ChatClient.new(name)
37  entry = ro.add_member(chat)
38  while gets
39    entry.say($_)
40  end
41end
42