Atitit.js javascript的rpc框架选型

 

​1. Dwr1​

​2. 使用AJAXRPC1​

​2.2. 数据类型映射表1​

​3. json-rpc轻量级远程调用协议介绍及使用2​

​3.1. 2.3、JavaScript客户端调用示例2​

​3.2. 2.4、直接GET请求进行调用2​

​4. atiri3​

 

 

1. Dwr

Dwr要自己一个method挑选了,麻烦的..

 

 

2. 使用AJAXRPC

在调用RPC方法时,如果没有传递回调函数,则是同步调用;如果传递回调函数,则是异步调用。

2.1.1.1. 同步调用

2.1. 数据类型映射表

AJAXRPC支持基本数据类型、自定义类,不支持泛型。


Javascript



Java



.Net



Php



说明



Number



Short,short
Integer,int
Long,long
Float,float
Double,double



short,Int16
int,Int32
long,Int64
float
Double,double



Integer
Float
Double



数字类型之间没有严格的界限,可以任意转换



Boolean



Boolean,boolean



Boolean,bool



Boolean



 



String



String



String,string



String



 



Date



Date



DateTime



String



日期字符串”Y-m-d\TH:i:s“格式,php需要额外处理



Object



HashMap,Map



Hashtable,IDictionary



Object



 



Array



ArrayList,List



ArrayList,IList



Array



 



null



null



null



NULL



 


AjaxRPC开发者知不知道静态方法和实例方法的差别?!! 

静态方法在内存始终都有一份拷贝,也就意味着内存始终被耗用,无法释放,同时静态方法不利于调试

 

 

3. ​​json-rpc轻量级远程调用协议介绍及使用

这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用

 

json-rpc协议非常简单,发起远程调用时向服务端传输数据格式如下:

   { "method": "sayHello", "params": ["Hello JSON-RPC"], "id": 1}

 

3.1. 2.3、JavaScript客户端调用示例

基于jsonrpcjs的JavaScript客户端调用示例:

var rpc = new jsonrpc.JsonRpc('http://127.0.0.1:8080/index.json');

rpc.call('getSystemProperties', function(result){

alert(result);

});

 

3.2. 2.4、直接GET请求进行调用

无需任何客户端,只需手工拼接参数进行远程调用,请求URL如下:

​http://127.0.0.1:8080/index.json?method=getSystemProperties&id=3325235235235¶ms=JTViJTVk​

参数说明:

method : 方法名

params :调用参数,json的数组格式[], 将参数需先进行url编码,再进行base64编码

id : 调用标识符,任意值

 

 

4. atiri