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介面
只怪我不是神人