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

    主站蜘蛛池模板: 免费A级毛片无码免费视| 手机永久免费的AV在线电影网| 久久久久亚洲精品成人网小说| 亚洲乱码无码永久不卡在线| 亚洲日韩VA无码中文字幕| 亚洲AⅤ视频一区二区三区 | 亚洲丝袜中文字幕| 亚洲成a人片在线观| 亚洲人成免费网站| 亚洲专区一路线二| 日本亚洲免费无线码 | 久久亚洲精品视频| 国产V亚洲V天堂无码| 无码欧精品亚洲日韩一区| 久久亚洲精品成人AV| 亚洲国产成人精品久久| 亚洲日本人成中文字幕| 亚洲成熟丰满熟妇高潮XXXXX| 国产亚洲视频在线观看网址| 深夜福利在线免费观看| 黄色短视频免费看| 久久精品国产大片免费观看| 最近中文字幕完整免费视频ww| 香蕉97超级碰碰碰免费公| 成人免费看黄20分钟| 国产一级淫片视频免费看| 亚洲中文字幕无码专区| 亚洲va久久久噜噜噜久久天堂| 久久久亚洲裙底偷窥综合| 国产成人精品亚洲2020| 色视频在线观看免费| 男人j进入女人j内部免费网站| 亚洲免费电影网站| 日日AV拍夜夜添久久免费| 久久国产成人精品国产成人亚洲 | 成人男女网18免费视频| 国产免费卡一卡三卡乱码| 亚洲色成人中文字幕网站| 亚洲精品午夜在线观看| 美女黄色毛片免费看| 性xxxxx大片免费视频|