PHPRPC is a Remote Procedure Calling protocol that works over the Internet for Ruby
PHPRPC 是由 andot 所開發的完美高效的遠端呼叫程序。
如何安裝PHPRPC?
從Gem安裝:
$ gem install phprpc
PHPRPC for Ruby的客戶端程式碼
#!ruby
require 'rubygems'
require "phprpc"
rpc_url="http://bawbaw.icittys.com/rpc_server.php"
client = PHPRPC::Client.new(rpc_url)#初始化一個PHPRPC client
puts client.add(1, 2)#呼叫遠端函數add(1,2)將列印出3
puts client.sub(1, 2)#呼叫遠端函數sub(1,2)將列印出-1
puts client.hello('Ma Bingyao')#呼叫遠端函數hello('Ma Bingyao')將列印出hello Ma Bingyao
這樣子就完成啦…簡單吧
再來示範如何加密傳輸
#!ruby
require 'rubygems'
require "phprpc"
rpc_url="http://bawbaw.icittys.com/rpc_server.php"
client = PHPRPC::Client.new(rpc_url)#初始化一個PHPRPC client
client.encryptmode = 2#雙向加密
client.keylength = 256#加密長度256
puts client.add(1, 2)#呼叫遠端函數add(1,2)將列印出3
puts client.sub(1, 2)#呼叫遠端函數sub(1,2)將列印出-1
puts client.hello('Ma Bingyao')#呼叫遠端函數hello('Ma Bingyao')將列印出hello Ma Bingyao
沒看過這麼簡單的web service吧…安全又快速
PHPRPC for Ruby的伺服器端程式碼
#!ruby
require 'rubygems'
require "phprpc"
def add(a, b)
a + b
end
def sub(a, b)
a - b
end
def hello(s)
"hello: " << s
end
server = PHPRPC::Server.new
server.debug = true
server.add(["add", "sub", "hello"])#將上列的function發佈
server.start
在此推薦Thin和Mongrel這兩種server
如未安裝Thin或Mongrel先安裝(擇一安裝或兩種都安裝)
$ gem install thin
$ gem install mongrel
如何啟動PHPRPC for Ruby Server
1.使用Thin發佈PHPRPC
$ ruby server.rb thin
如何?很簡單吧,那再看下列的Mongrel Server啟動方式
2.使用Mongrel發佈PHPRPC
$ ruby server.rb mongrel
此時發佈網址為http://localhost:3000/
如果想要改變一些參數,請用
$ ruby server.rb thin --help
$ ruby server.rb mongrel --help
就可以知道如何改變及設定啟動參數
現在大家就動手測試吧…歡迎進入PHPRPC的世界

0 留言:
張貼意見