From: Massimiliano Mirra - bard Date: 2004-12-08T23:07:36+09:00 Subject: [ANN] Jabber-RPC Ever thought it would be nice to call objects located anywhere in the world, without bothering with static IPs, DNS, Apache, CGI, NAT, PAT, gateways, authentication, and so on? Jabber-RPC lets you do this. On the callee side you have: require "jabber/rpc" class TestAgent < Jabber::RPC::BasicAgent def exposed_commands ["alive?"] end def alive? true end end agent = TestAgent.new("bot@jabberserver.com/TestAgent", "bot") agent.connect On caller, you have: session = Jabber::Session.bind("user@jabberserver/Ruby", "user") remote_agent = Jabber::RPC::Client.new(session, "bot@jabberserver.com/TestAgent").proxy3 remote_agent.alive? #=> true And with a bit more code, remote users can talk to the object through an IM client, too. Find it at: http://jabber-rpc.rubyforge.org Massimiliano