ruby xml-rpc server & client

server.rb

#encoding:utf-8
#! /usr/bin/env ruby
require "xmlrpc/server"

#s = XMLRPC::CGIServer.new
s = XMLRPC::Server.new(8080)

s.add_handler("sample.sumAndDifference") do |a,b|
  { "sum" => a + b, "difference" => a - b }
end

s.serve

#require "xmlrpc/server"
#
##s = XMLRPC::CGIServer.new
#s = XMLRPC::Server.new(8080)
#
#class MyHandler
#  def sumAndDifference(a, b)
#    { "sum" => a + b, "difference" => a - b }
#  end
#end
#
#s.add_handler("sample", MyHandler.new)
#s.serve

 

 

client.rb

#encoding:utf-8
#! /usr/bin/env ruby
require "xmlrpc/client"

# Make an object to represent the XML-RPC server.
#server = XMLRPC::Client.new( "xmlrpc-c.sourceforge.net", "/api/sample.php")
server = XMLRPC::Client.new2("http://localhost:8080")


# Call the remote server and get our result
result = server.call("sample.sumAndDifference", 5, 3)

sum = result["sum"]
difference = result["difference"]

puts "Sum: #{sum}, Difference: #{difference}"

 

 

 

 

client.py

#encoding=utf-8
#!/usr/bin/env python
import xmlrpclib

proxy = xmlrpclib.Server('http://localhost:8080')
print proxy.sample.sumAndDifference(5,3)

 

reference:

http://www.faqs.org/docs/Linux-HOWTO/XML-RPC-HOWTO.html#xmlrpc-howto-ruby-server

 

posted on 2012-01-24 20:39  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2012/01/24/2329231.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值