<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    PHPRPC

    Posted on 2010-01-19 16:33 瘋狂 閱讀(2962) 評論(0)  編輯  收藏 所屬分類: java webservice
    文出處:http://blog.chenlb.com/2009/02/phprpc-for-java-hello-world-demo.html

    PHPRPC是面向服務的高性能遠程過程調用協議。PHPRPC for java 是此協議的一種實現,詳細請到官方看PHPRPC的介紹 ,以其它rpc協議的性能對比請:Java、PHPRPC、Hessian、Burlap、XML 序列化的效率對比 。我在這時只是試用下。

    下載:PHPRPC 3.0.2 for Java , 解壓到(如:f:/phprpc_3.0.2_for_java),然后雙擊make.bat生成服務與客戶端,生成phprpc.jar和phprpc_client.jar兩個jar,把phprpc.jar放到web項目的WEB-INF/lib目錄下。

    先寫個模擬業務接口:Hello.java接口與其實現MyHello.java

    1. package com.chenlb.phprpc;   
    2.   
    3. /**  
    4.  * 業務接口  
    5.  *  
    6.  * @author chenlb 2009-2-22 下午08:06:13  
    7.  */  
    8. public interface Hello {   
    9.   
    10.     String say(String name);   
    11. }  
    1. package com.chenlb.phprpc;   
    2.   
    3. /**  
    4.  * 服務器的一個模擬任務  
    5.  *  
    6.  * @author chenlb 2009-2-22 下午08:05:42  
    7.  */  
    8. public class MyHello implements Hello {   
    9.   
    10.     public String say(String name) {   
    11.         return "Hello "+name;   
    12.     }   
    13. }  

    然后發布業務(被遠程調用的):rpc.jsp

    1. <%@ page import="com.chenlb.phprpc.*" %>   
    2. <%@ page import="org.phprpc.*" %>   
    3. <%   
    4. Hello hello = new MyHello();   
    5. PHPRPC_Server phprpc_server = new PHPRPC_Server();   
    6. phprpc_server.add(hello);   
    7. phprpc_server.start(request, response);   
    8. %>  

    當然要把Hello.class與Myhello.class放到web項目里,如WEB-INF/classes。

    編寫java客戶端代碼,試用:

    1. package com.chenlb.phprpc;   
    2.   
    3. import org.phprpc.PHPRPC_Callback;   
    4. import org.phprpc.PHPRPC_Client;   
    5.   
    6. public class PhpRpcDemo {   
    7.   
    8.     public static void main(String[] args) {   
    9.         PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/rpc.jsp");   
    10.         Hello m = (Hello) client.useService(Hello.class);   
    11.         System.out.println(m.say("chenlb"));   
    12.   
    13.         //也可以以 callback形式調用.   
    14.         client.invoke("say"new Object[] {"other"}, new PHPRPC_Callback() {   
    15.             public void handler(String result, Object[] args) {   
    16.                 System.out.println("handler:");   
    17.                 System.out.println(result);   
    18.                 System.out.println("args:"+args[0]);   
    19.                 System.out.println();   
    20.             }   
    21.         });   
    22.     }   
    23. }  

    示例了兩種使用方式,輸出結果為:

    Hello chenlb
    handler:
    Hello other
    args:other

    使用的確比較簡單。可以在 javaeye 群組里與 PHPRPC 作者交流

    主站蜘蛛池模板: 最新国产精品亚洲| 亚洲婷婷天堂在线综合| 亚洲AV无码国产剧情| 成年女人毛片免费播放视频m| 亚洲免费一级视频| 黄瓜视频影院在线观看免费| 亚洲美免无码中文字幕在线| 99视频有精品视频免费观看| 亚洲欧洲国产视频| 日韩精品无码区免费专区| 四虎亚洲精品高清在线观看| 啦啦啦手机完整免费高清观看| 亚洲中文字幕无码中文字| 国产成人亚洲综合色影视| 成年免费a级毛片免费看无码| 国产精品亚洲аv无码播放| 无码日韩精品一区二区免费暖暖 | 亚洲高清无码专区视频| 四虎一区二区成人免费影院网址| 亚洲av无码不卡私人影院| 国产国产人免费人成成免视频 | 亚洲美女自拍视频| 国产裸模视频免费区无码| 成人嫩草影院免费观看| 久久亚洲美女精品国产精品| 免费无码肉片在线观看| 国产成人久久精品亚洲小说| 337p日本欧洲亚洲大胆裸体艺术| 99热精品在线免费观看| 亚洲另类自拍丝袜第五页| 四虎成年永久免费网站| 99亚洲乱人伦aⅴ精品| 永久免费无码网站在线观看 | 久久免费看少妇高潮V片特黄| 亚洲特级aaaaaa毛片| 亚洲av无码不卡私人影院| 国产成人免费视频| 亚洲AV无码成人精品区狼人影院| 亚洲午夜爱爱香蕉片| 日日摸日日碰夜夜爽亚洲| 国产亚洲AV无码AV男人的天堂|