`
pan_java
  • 浏览: 286143 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

phprpc 实践

阅读更多
服务器端
package com.phprpc.test;
//接口定义
public interface IMessage {
	public String say(String msg);
	
	public User count(User user);
}




  package com.phprpc.test;
//实现类
public class Message implements IMessage{
	static int a = 0;
	public String say(String msg){
		System.out.println(++a);
		return "Your message is:" +msg;
	}
	
	public User count(User user){
		user.setCount(user.getCount()+1);
		return user;
	}

}


//此jsp为PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/test.jsp"); 的test.jsp
<%@ page language="java" import="org.phprpc.*"%>
<%@ page language="java" import="com.phprpc.test.*"%>

  <body>
    <%
    
        IMessage message = new Message();
        PHPRPC_Server phprpc_server = new PHPRPC_Server();   
        phprpc_server.add("say",message);
        phprpc_server.add("count",message);
        System.out.println(phprpc_server.toString());
        phprpc_server.start(request, response); 
        
     %>
  </body>



//USER对象

package com.phprpc.test;

import java.io.Serializable;

public class User implements Serializable {
	
	private static final long serialVersionUID = -5227301031199193059L;

	private int id;
	
	private String name;
	
	private int count;

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	

}





//客户端
 package com.phprpc.client;

import org.phprpc.PHPRPC_Client;

import com.phprpc.test.IMessage;
import com.phprpc.test.Message;
import com.phprpc.test.User;

public class ClientTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		
		PHPRPC_Client client = new PHPRPC_Client("http://localhost:8080/phprpc/test.jsp");   
        
		IMessage msg = (IMessage) client.useService(IMessage.class);    
        String a = msg.say("panxiuyan");
        
        System.out.println(a);
        
        User user = new User();
        
        user.setId(1);
        user.setName("panxiuyan");
        user.setCount(0);
        
        User u = msg.count(user);
        
        System.out.println(u.getCount());
        

	}

}


附件中的phprpc.jar是已编译的文件直接可以使用
分享到:
评论
2 楼 pan_java 2009-05-26  
littleJava 写道
一般不建议在jsp中直接写java脚本,为什么不做个Servlet版本的?


不好意思,谢谢你的宝贵意见,下次改善!
1 楼 littleJava 2009-05-25  
一般不建议在jsp中直接写java脚本,为什么不做个Servlet版本的?

相关推荐

    phprpc中文文档

    Phprpc是一个轻量级的PHP远程过程调用(RPC)框架,它允许开发者在不同的PHP进程中进行通信,实现服务间的高效数据交换。...通过深入学习和实践,你可以充分利用Phprpc的特性,构建高效、可靠的分布式系统。

    phprpc例子

    通过学习和实践"phprpctest",开发者不仅可以掌握Phprpc的基本使用,还能了解如何在实际项目中构建和部署分布式服务,提升系统的可扩展性和灵活性。此外,对于熟悉PHP的开发者来说,Phprpc提供了一个快速开发和测试...

    phprpc_3.0.1_delphi

    Phprpc_3.0.1_Delphi 是一个基于RPC(Remote Procedure Call)协议的开源框架,专门设计用于实现不同编程语言之间的数据共享和交互。RPC允许程序在不同的网络节点上执行远程调用,就像调用本地函数一样简单,极大地...

    webservices学习之phprpc

    本篇将深入探讨PHP RPC,特别是通过实例介绍如何使用phprpc库进行实践。 【描述】 这篇博客文章主要围绕“phprpc”这一PHP RPC实现展开,作者分享了关于如何使用phprpc进行远程调用的实战经验。尽管描述部分没有...

    PHPRPC远程过程调用协议(ASP).7z

    PHPRPC(PHP Remote Procedure Call)是一种轻量级的、基于HTTP协议的远程过程调用协议,主要用于在不同服务器之间实现跨平台、跨语言的通信。在这个特定的压缩包文件"PHPRPC远程过程调用协议(ASP).7z"中,我们可以...

    基于php扩展swoole封装的一个简易的JSON协议的RPC框架

    这个简易的JSON-RPC框架是作者自己的实践成果,其设计灵感来源于已有的RPC解决方案,但具体实现代码是作者独立编写的。经过不断的优化和调整,该框架已经在实际的生产环境中稳定运行,每天支持约8000万次的调用,...

    Laravel开发-jsonrpc

    **Laravel 开发与 JSON-RPC** JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议...不断探索和实践,你会发现 Laravel 与 JSON-RPC 结合能提供高效且灵活的远程调用解决方案。

    基于thrift的RPC调用实例

    RPC(远程过程调用)是一种在...在本例中,我们展示了如何使用Thrift在Java和PHP之间进行RPC调用,通过简单的`sayHello`方法来演示其工作原理。通过深入理解和实践,Thrift可以成为构建大型分布式系统中的强大工具。

    TARS-PHP:PHP构建高性能RPC框架

    #### 五、TARS-PHP具体实践案例 - **启动注册**:服务启动时自动向TARS主控中心注册。 - **定时上报**:定期向主控中心报告服务状态,以便于监控和维护。 - **配置拉取**:从主控中心拉取最新的配置信息,确保服务...

    workerman-thrift, Thrift RPC for php based on workerman..zip

    工作人猿-Thrift:基于Workerman的PHP Thrift RPC实现详解 在当今的分布式系统中,RPC(Remote Procedure Call)框架扮演着至关重要的角色,它允许不同进程间进行高效、透明的通信。Thrift是由Facebook开发的一种跨...

    PHP中XML-RPC构造WebService.pdf

    #### 五、XML-RPC实践示例 1. **服务器端代码**: ```php // rpc_server.php function rpc_server_func($method, $params) { $parameter = $params[0]; if ($parameter == "get") { return "This data by get ...

    Rpc及hyperf搭建RPC微服务.zip

    RPC(Remote Procedure Call)是一种计算机通信协议,它允许程序在一台计算机上执行远程操作,就像它们在本地系统上运行...通过学习和实践,你可以掌握如何利用Hyperf搭建RPC微服务,提升分布式系统的设计和开发能力。

    PHP中使用XML-RPC构造Web-Service简单入门.doc

    **XML-RPC实践** 以下是一个简单的PHP XML-RPC服务器端和客户端示例: **服务器端代码(rpc_server.php):** ```php function rpc_server_func($method, $params) { $parameter = $params[0]; if ($parameter =...

    PHP中使用XML-RPC构造Web_Service简单入门.doc

    #### XML-RPC实践案例 以下是一个简单的XML-RPC服务器端示例代码: ```php &lt;?php // 函数:提供给RPC客户端调用的函数 function rpc_server_func($method, $params) { $parameter = $params[0]; if ($parameter ...

    programming web services with xml rpc

    《Programming Web Services with XML RPC》一书不仅涵盖了XML-RPC的基本概念和技术细节,还深入探讨了在不同编程环境(如Java、Perl、PHP、Python和ASP)下如何有效地使用XML-RPC。对于任何希望了解并应用XML-RPC来...

    PHP高性能服务框架架构与实践.pdf

    《PHP高性能服务框架架构与实践》一书主要探讨了如何构建高效、稳定的服务化框架,以满足现代互联网应用的需求。作者刘宇具有丰富的IT行业经验,曾参与多种类型的项目开发,包括路由交换设备、手机App、机顶盒以及...

    集成了各种工程实践的 web 和 rpc 框架 通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验

    Go-Zero作为一个集成了各种工程实践的Web和RPC框架,以其强大的弹性设计和实战验证,成为了应对大并发场景的理想选择。 首先,我们要理解什么是Web应用开发。Web应用开发是指利用各种编程语言和技术,如HTML、CSS、...

    PHP采用XML-RPC构造Web Service实例教程

    四、XML-RPC实践 1. rpc_server.php示例代码: - 定义rpc_server_func函数,用于处理客户端请求。 - 创建服务器实例,注册方法。 - 通过XML-RPC响应客户端的请求,并输出结果。 2. 客户端构造: - 客户端通过...

    微服务之数据库服务-服务端(PHP+YII)

    以上就是关于"微服务之数据库服务-服务端(PHP+YII)"的相关知识点,这个项目涵盖了微服务架构的核心要素,通过PHP和YII框架实现服务端的高效开发,为构建可扩展、健壮的数据库服务提供了实践指导。

Global site tag (gtag.js) - Google Analytics