PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
PHPRPC for Java需要分别实现客户端和服务器端,现在给个具体的例子
比方服务器端为http://localhost:8080/server/,服务器端为http://localhost:8080/client/
我们需要建两个工程,分别为server和client。然后分别实现客户端和服务器端。
1.服务器端实现:
1)创建一个实现类:
public class MyHello {
public String say(String name) {
System.out.println("hello world!!");
return "Hello "+name;
}
}
2)发布服务:
新建一个jsp,取名字为hello.jsp,这样它的url为:http://localhost:8080/server/hello.jsp
hello.jsp内容为:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="org.phprpc.PHPRPC_Server"%>
<%@page import="test.MyHello"%>
<%
MyHello hello=new MyHello();
PHPRPC_Server server=new PHPRPC_Server();
server.add(hello);
server.start(request,response);
%>
这样就发布好了。
2.客户端实现:
1)定义接口,和服务器实现类对应,取名Hello
public interface Hello {
public String say(String name);
}
2)上步完成后,我们就可以远程调用了,创建一个类,名称取为Test.java
public class Test{
public static void main(String[] args) {
PHPRPC_Client client=new PHPRPC_Client ("http://localhost:8080/server/hello.jsp");
Hello hello=(Hello)client.useService(Hello.class);
System.out.println(hello.say(" Java_KAbanban"));
}
当运行Test.java时便能达到想要的结果,输出:Hello Java_KAbanban
是不是很有用啊!!
大家要是有兴趣的话,可以讨论讨论!!
分享到:
相关推荐
PHPRPC是为了解决PHP和Java之间进行远程调用的问题。在Web开发中,有时我们需要用到不同的后端服务,比如PHP处理前端请求,而Java负责处理复杂的后台业务逻辑。PHPRPC提供了一种透明的方式,使得PHP可以调用Java服务...
RPC(远程过程调用)是一种在分布式系统中执行远程计算的方法,使得客户端可以在不理解远程服务器内部实现的情况下,像调用本地函数一样调用远程服务器上的服务。在本实例中,我们将关注一个基于Thrift的RPC调用实现...
在Java开发中,有时我们需要将服务暴露给其他应用程序或客户端,这时可以借助远程过程调用(RPC)框架来实现。Hprose是一个轻量级、跨语言、跨平台的RPC框架,非常适合这样的需求。本教程将详细介绍如何使用Hprose在...
Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年设计并开源,目的是为了高效地在不同编程语言之间进行数据序列化和远程过程调用(RPC)。在这个"thrift的java和python结合例子"中,我们将探讨如何使用...
HPROSE源自PHPRPC,是其商业开源版本,提供了高性能、易用的特性。它支持多种通信协议,如HTTP、TCP、UDP等,并且能在多种编程语言之间进行无缝交互,包括PHP、Java、C#、JavaScript等。HPROSE的核心理念是让服务端...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
通过上面的例子,我们已经看到在 PHP、Java 和 JavaScript 这三种语言中使用 PHPRPC 都很简单,但因为语言的不同,在写法和用法上又有一些差别。不过你不用担心其它的语言跟它们也会有很大的差别,因为在接下来的...
客户端需要同样使用Thrift编译器生成的代码,创建服务代理对象,通过这个代理对象,可以像调用本地方法一样调用远程服务。 5. **序列化与反序列化**:Thrift提供了高效的序列化和反序列化机制,使得数据能在不同...
在这个例子中,`echo_func`是一个可供远程调用的函数,当接收到`echo`请求时,它将返回传递的第一个参数。 总的来说,XMLRPC-2.2.2是PHP中用于XMLRPC通信的一个重要模块,它促进了不同语言之间服务的互操作性和网络...
3. 代理类:生成代理类,使得调用远程方法就像调用本地方法一样方便。 4. HTTP代理和SSL支持:允许通过HTTP代理进行通信,并支持SSL加密通信。 NuSOAP的安装非常简单,只需将下载的文件放到PHP可以访问的目录下。它...
它的主要目的是解决多语言通信的问题,通过定义一种中间表示(IDL,Interface Definition Language)来描述数据结构和服务接口,然后生成不同编程语言的代码,使得在各种语言之间进行远程过程调用(RPC)变得简单而...
Thrift框架是一个开源的跨语言服务部署框架,主要用于实现RPC(远程过程调用)服务。由Facebook开发并开源,其源代码可以在Apache Thrift官网下载。Thrift的核心特性在于其跨语言能力,它提供了一个多语言的库,包括...
**C++ hprose** 是一个轻量级、高性能、跨平台的开源库,它使得C++程序员可以方便地实现远程过程调用(RPC)和数据交换。Hprose 支持多种编程语言,包括C++, Java, PHP, Python等,提供了一种简单而高效的通讯方式,...
Thrift是一种开源的跨语言服务开发框架,由Facebook于2007年发布,旨在提供高效、灵活且可扩展的远程过程调用(RPC)解决方案。它允许开发者定义服务接口和服务数据类型,然后自动生成支持多种编程语言的客户端和...