HPROSE 是 PHPRPC的商业版本, 价格便宜。
PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
目前该协议的最新版本为 3.0。该版本目前已有以下几种语言的实现:
- ASP:提供 JScript 和 VBScript 两种语言的支持。
- ActionScript:提供 ActionScript 2.0 和 ActionScript 3.0 两个版本的支持。
- Delphi/C++Builder/Kylix:提供 Delphi/C++Builder 6.0-2009 和 Kylix 客户端的支持,不但可以支持 Win32 原生程序开发,而且还支持 Linux 程序开发。
- Java:支持 JDK 1.2 以上的所有版本,它还支持 Google Android 开发包。另外,它还有单独的 J2ME 版本,支持 CLDC-1.1 和 MIDP-1.0。
- JavaScript:提供两个版本的实现,一个使用纯 Javascript 实现,另一个需要调用一个 swf 文件,两个版本都支持跨域的远程过程调用,但是使用 swf 的版本不限制参数长度,并且有更好的安全控制机制。这两个版本已经通过完整测试的浏览器包括 IE 5+,Netscape 7+,Firefox,Mozilla,Opera,Safari,Epiphany,Camino 与 Konqueror。并且纯 JavaScript 版本还通过了 Pocket IE、Opera Mini、Opera Mobile、iPhone、Android 等手持设备浏览器的测试。
- .NET:支持 .NET 框架下所有的语言(如 C#、VB.NET、VC.NET、Delphi.NET 等),并且支持目前所有版本的 .NET Framework 和 .NET Compact Framework,当然它也支持 Mono。最新版本增加了对 SilverLight 2.0 的支持。
- PHP:支持 PHP4 与 PHP5,同样支持正处于开发阶段的 PHP6。
- Python:支持 Python 2.4、2.5、2.6,而且支持在 Google App Engine 上应用。
- Ruby:该版本支持 Ruby 1.8.5 及其更高版本。服务器除了支持以 cgi、fcgi、scgi、lsapi 方式运行外,还支持以独立服务器 ( mongrel、thin、ebb 或 webrick ) 方式运行。
- Perl:目前该版本尚不成熟,有待完善。
- Lazarus(Free Pascal):移植自 Delphi 版本, 需要 Indy for Lazarus 支持。
其中 ASP、.NET、Java、Ruby、Python 和 PHP 版本除了提供客户端实现外,还提供了服务器端实现。