服务器端
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是已编译的文件直接可以使用
分享到:
相关推荐
Phprpc是一个轻量级的PHP远程过程调用(RPC)框架,它允许开发者在不同的PHP进程中进行通信,实现服务间的高效数据交换。...通过深入学习和实践,你可以充分利用Phprpc的特性,构建高效、可靠的分布式系统。
通过学习和实践"phprpctest",开发者不仅可以掌握Phprpc的基本使用,还能了解如何在实际项目中构建和部署分布式服务,提升系统的可扩展性和灵活性。此外,对于熟悉PHP的开发者来说,Phprpc提供了一个快速开发和测试...
Phprpc_3.0.1_Delphi 是一个基于RPC(Remote Procedure Call)协议的开源框架,专门设计用于实现不同编程语言之间的数据共享和交互。RPC允许程序在不同的网络节点上执行远程调用,就像调用本地函数一样简单,极大地...
本篇将深入探讨PHP RPC,特别是通过实例介绍如何使用phprpc库进行实践。 【描述】 这篇博客文章主要围绕“phprpc”这一PHP RPC实现展开,作者分享了关于如何使用phprpc进行远程调用的实战经验。尽管描述部分没有...
PHPRPC(PHP Remote Procedure Call)是一种轻量级的、基于HTTP协议的远程过程调用协议,主要用于在不同服务器之间实现跨平台、跨语言的通信。在这个特定的压缩包文件"PHPRPC远程过程调用协议(ASP).7z"中,我们可以...
这个简易的JSON-RPC框架是作者自己的实践成果,其设计灵感来源于已有的RPC解决方案,但具体实现代码是作者独立编写的。经过不断的优化和调整,该框架已经在实际的生产环境中稳定运行,每天支持约8000万次的调用,...
**Laravel 开发与 JSON-RPC** JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议...不断探索和实践,你会发现 Laravel 与 JSON-RPC 结合能提供高效且灵活的远程调用解决方案。
RPC(远程过程调用)是一种在...在本例中,我们展示了如何使用Thrift在Java和PHP之间进行RPC调用,通过简单的`sayHello`方法来演示其工作原理。通过深入理解和实践,Thrift可以成为构建大型分布式系统中的强大工具。
#### 五、TARS-PHP具体实践案例 - **启动注册**:服务启动时自动向TARS主控中心注册。 - **定时上报**:定期向主控中心报告服务状态,以便于监控和维护。 - **配置拉取**:从主控中心拉取最新的配置信息,确保服务...
工作人猿-Thrift:基于Workerman的PHP Thrift RPC实现详解 在当今的分布式系统中,RPC(Remote Procedure Call)框架扮演着至关重要的角色,它允许不同进程间进行高效、透明的通信。Thrift是由Facebook开发的一种跨...
#### 五、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(Remote Procedure Call)是一种计算机通信协议,它允许程序在一台计算机上执行远程操作,就像它们在本地系统上运行...通过学习和实践,你可以掌握如何利用Hyperf搭建RPC微服务,提升分布式系统的设计和开发能力。
**XML-RPC实践** 以下是一个简单的PHP XML-RPC服务器端和客户端示例: **服务器端代码(rpc_server.php):** ```php function rpc_server_func($method, $params) { $parameter = $params[0]; if ($parameter =...
#### XML-RPC实践案例 以下是一个简单的XML-RPC服务器端示例代码: ```php <?php // 函数:提供给RPC客户端调用的函数 function rpc_server_func($method, $params) { $parameter = $params[0]; if ($parameter ...
《Programming Web Services with XML RPC》一书不仅涵盖了XML-RPC的基本概念和技术细节,还深入探讨了在不同编程环境(如Java、Perl、PHP、Python和ASP)下如何有效地使用XML-RPC。对于任何希望了解并应用XML-RPC来...
《PHP高性能服务框架架构与实践》一书主要探讨了如何构建高效、稳定的服务化框架,以满足现代互联网应用的需求。作者刘宇具有丰富的IT行业经验,曾参与多种类型的项目开发,包括路由交换设备、手机App、机顶盒以及...
Go-Zero作为一个集成了各种工程实践的Web和RPC框架,以其强大的弹性设计和实战验证,成为了应对大并发场景的理想选择。 首先,我们要理解什么是Web应用开发。Web应用开发是指利用各种编程语言和技术,如HTML、CSS、...
四、XML-RPC实践 1. rpc_server.php示例代码: - 定义rpc_server_func函数,用于处理客户端请求。 - 创建服务器实例,注册方法。 - 通过XML-RPC响应客户端的请求,并输出结果。 2. 客户端构造: - 客户端通过...
以上就是关于"微服务之数据库服务-服务端(PHP+YII)"的相关知识点,这个项目涵盖了微服务架构的核心要素,通过PHP和YII框架实现服务端的高效开发,为构建可扩展、健壮的数据库服务提供了实践指导。