<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    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是面向服務(wù)的高性能遠程過程調(diào)用協(xié)議。PHPRPC for java 是此協(xié)議的一種實現(xiàn),詳細請到官方看PHPRPC的介紹 ,以其它rpc協(xié)議的性能對比請:Java、PHPRPC、Hessian、Burlap、XML 序列化的效率對比 。我在這時只是試用下。

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

    先寫個模擬業(yè)務(wù)接口:Hello.java接口與其實現(xiàn)MyHello.java

    1. package com.chenlb.phprpc;   
    2.   
    3. /**  
    4.  * 業(yè)務(wù)接口  
    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.  * 服務(wù)器的一個模擬任務(wù)  
    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. }  

    然后發(fā)布業(yè)務(wù)(被遠程調(diào)用的):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形式調(diào)用.   
    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. }  

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

    Hello chenlb
    handler:
    Hello other
    args:other

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

    主站蜘蛛池模板: 夫妻免费无码V看片| 一级做a免费视频观看网站| 亚洲综合亚洲国产尤物| 亚洲黄色中文字幕| 伊人久久五月丁香综合中文亚洲 | 亚洲av福利无码无一区二区| 亚洲视频在线免费观看| 亚洲日韩精品国产一区二区三区| 一本大道一卡二大卡三卡免费| 国产性生交xxxxx免费| 亚洲av无码专区在线播放| 国产亚洲玖玖玖在线观看| 久久精品无码专区免费| 久草视频在线免费| mm1313亚洲精品无码又大又粗| 亚洲精品美女久久777777| 亚洲精品国产精品国自产网站 | 狠狠综合久久综合88亚洲| 久久亚洲精品成人av无码网站| 男男gay做爽爽免费视频| 91在线手机精品免费观看| 免费一区二区三区四区五区| 久久久亚洲欧洲日产国码aⅴ | 亚洲无码精品浪潮| 国产精品亚洲精品观看不卡| 毛片免费在线观看网站| 亚洲gv白嫩小受在线观看| 日本卡1卡2卡三卡免费| 免费萌白酱国产一区二区| 亚洲妓女综合网99| 99久久国产精品免费一区二区 | 久久久久亚洲AV综合波多野结衣 | a级毛片毛片免费观看久潮| 无码不卡亚洲成?人片| 国产真人无码作爱免费视频| 亚洲人成依人成综合网| 在线免费观看污网站| a级毛片免费高清视频| 亚洲精品成人a在线观看| 麻豆一区二区三区蜜桃免费| 在线观看免费成人|