<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 作者交流

    主站蜘蛛池模板: 毛片免费全部播放无码| 久久青草91免费观看| 女人让男人免费桶爽30分钟| 亚洲精品福利在线观看| 91精品导航在线网址免费| 久久久久久亚洲精品| 97无码人妻福利免费公开在线视频 | 亚洲成a人片77777kkkk| 爽爽爽爽爽爽爽成人免费观看| 中文字幕亚洲综合久久男男| 久久久久久噜噜精品免费直播| 亚洲日韩激情无码一区| 成在线人免费无码高潮喷水| 亚洲另类激情综合偷自拍图| 久久久久成人片免费观看蜜芽 | 男女交性永久免费视频播放| 国产亚洲综合视频| 国产成人99久久亚洲综合精品 | 久久一区二区免费播放| 亚洲成人免费在线| 青青视频观看免费99| 亚洲国产AV一区二区三区四区| 国产三级电影免费观看| 国产精品免费大片一区二区| 亚洲AV无码成人精品区在线观看 | 国产精品无码永久免费888| 亚洲av最新在线网址| 在线a级毛片免费视频| 国产精品亚洲片在线花蝴蝶| 亚洲色自偷自拍另类小说| 91成人免费观看| 久久久久久亚洲精品无码| 亚洲性猛交XXXX| 国产免费毛不卡片| av电影在线免费看| 亚洲mv国产精品mv日本mv| 亚洲国产精品尤物yw在线| 18女人腿打开无遮掩免费| 含羞草国产亚洲精品岁国产精品| 亚洲欧洲无码AV电影在线观看| 日韩一区二区a片免费观看|