jsonrpc调用挖矿
『壹』 jsonrpc java怎么运行
JSON-RPC-Java 由两个对用户可视化的组件构成,它们是JSONRPCBridge和JSONRPCServlet,二者的协调实现了JSON服务器端对请求对象的处理,并响应给用户。
JSONRPCBridge是一个拥有服务器端导出给特定客户端的对象的引用的session对象,它接收服务器(也就是JSONRPCServlet)传来的JSON-RPC请求,然后其把JSON对象解码(unmarshalling)为Java对象,再扮演方法调用的角色,还要把方法调用返回的Java对象结果组码(marshall)为JSON对象传给客户端处理。而具体的从Java对象到Javascript对象的类型转换由负责串行化的串行化类Serializer处理。
JSONRPCBridge必须放置在HttpSession对象中,并且注册属性名为“JSONRPCBridge”,以使JSONRPCServlet能够定位负责调用导出到客户端的Java对象的桥。为此,为了导出一个对象的所有实例和静态方法到客户端,应该有如下的代码: JSONRPCBridge.registerObject("myObject", myObject);
为了导出一个类的所有的静态方法,应该:JSONRPCBridge.registerClass(("myObject", myObject);
如果registerObject和registerClass被多次调用为有相同键值的对象使用,那么其将被最新赋值的对象所更新。
在JSON中,还可以使用单例模式的globalBridge来为所有的HTTP客户端导出所有的实例方法。其可以用来注册工厂类,但使用时要注意认证与安全问题。使用时如下标识:JSONRPCBridge.getGlobalBridge().registerObject("myObject",myObject); 同上其还可以导出所有的静态方法。
该协议中最重要的一部分还有就是Servlet了,现在就来简单的介绍一下:
在该协议中,JSONRPCServlet充当传送器,处理通过HTTP传输过来的JSON
『贰』 jsonrpc怎么用
按照标准的JSON字符串格式发送不就行了
json-rpc是一套标准
wiki.geekdream.com/Specification/json-rpc_2.0.html
这里是2.0的官方文档,你看下,另外解析用的包也需要引入
『叁』 json rpc 接口 java可以调用吗
JSONObject jsonObject = new JSONObject();
Map map = request.getParameterMap();
Iterator<?> it = map.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
String[] values = (String[])map.get(key);
jsonObject.accumulate(key, values[0]);
}
String name = jsonObject.getString("userName"); //返回从前台接受的用户名
System.out.println(name); //输出用户名
jsonObject.clear(); // 清空jsonObjec中的数据
jsonObject.put("love" , "足球"); //将足球赋给love这个变量名
out.print(jsonObject); //返回json格式的数据
『肆』 thinkphp jsonrpc java怎么调用
服务端示例:
<?php
namespace Rpc\Controller;
use Think\Controller\JsonRpcController;
class JsonApiController extends JsonRpcController
{
public function index(){
return 'Hello, JsonRPC!';
}
// 支持参数传入
public function test($name=''){
return "Hello, {$name}!";
}
}
客户端示例:
vendor('jsonRPC.jsonRPCClient');
$client = new \jsonRPCClient('http://www.tp.cn/index.php/Rpc/JsonApi');
$result = $client->index();
var_mp($result); // 结果:Hello, JsonRPC!
$result = $client->test('deeka');
var_mp($result); // 结果:Hello, deeka!
『伍』 怎么用c#调用json-rpc
其实对于C#调用json-rpc并不点便宜,一般情况下如果是C#调用,可以考虑使用wcf等rpc技术。
对于json/xml等rpc,在C#调用时,应该遵从以下两个原则:
远程http协议流调用(使用tcpclient/webclient等类库将内容调用到本地)。
对本地流(二进制,文本——json/xml,文本——jsonp等)进行反序列化,得到相应的调用。
严格来说,这种情况其实不能称之rpc的,rpc是远程调用,指的调用远程方法并返回(不返回)相应的应答,而json/jsonp则是将执行结果以流的方式返回,而这个恰好可以序列化成本地对象,严格来说,json/jsonp/xml实际上是让浏览器调用的,浏览器本身是javascript的宿主,可以很轻易地反序列json或直接执行jsonp方法。
也就是说,浏览器通信使用json/jsonp的这种方案,目的是跨终端。而C#只能出现在页面后端,如果让后端去调用业务层逻辑的话,不如直接使用wcf等rpc。使用json/jsonp则是需要自定义序列化的,对于将来的维护等存在一定的问题。
如果把网页也看作rpc的话,json/jsonp可以算做rpc的,事实上狭义的rpc就是远程调用,是在业务层上远程集中封装。还有是一定的区别的。
『陆』 jsonrpc = new JSONRpcClient("../JSON-RPC"); 这个路径应该怎么写具体说说
jsonrpc = new JSONRpcClient("/json-rpc"); //实例化json远程调用
『柒』 JSON-RPC 数据如何利用javascript post提交给服务器求大神救急!
可以使用第三方的api,例如: jQuery.post(url, [data], [callback], [type])
$.post("test.php", { name: "John", time: "2pm" } );
『捌』 jsoup如何调用json-rpc接口
只怪我不是神人