實現原理
利用aria2c的json-rpc介面
c# 用 clientwebsocket 類 連線 aria2c的json-rpc介面
最後根據aria2c的json-rpc介面定義傳送訊息給aria2
aria2c的json-rpc介面定義詳細資訊請看
這裡只有aria2c定義的類和方法
使用的時候只要先連線aria2伺服器再呼叫方法就可以了
下面是aria2c.cs檔案的**
清根據實際情況更改
using system;
using system.io;
using system.collections.generic;
using system.net.websockets;
using system.threading;
using system.text.regularexpressions;
using system.linq;
using system.text;
using system.threading.tasks;
//aria2詳細資訊請看
//namespace aria2c
public string _id
public string _method
public list_params
}public class aria2
catch
//檢查連線是否成功
if (aria2.websocket.state == websocketstate.open)
return status;
}/// /// jsonclass類轉為json格式
///
///
///
private static string tojson(jsonclass json)
else if(json._method == "aria2.tellstatus")
else
}else
if (json._params.count - 1 > i)
}str += "]}";
//最後得到類似
//return str;
}/// /// 傳送json並返回json訊息
///
///
///
private static async tasksendandreceive(jsonclass json)
catch
return str;
}///
///
///
public static async taskadduri(string uri)
///
///
///
public static async taskaddtorrent(string path)
/// /// 刪除已經停止的任務,強制刪除請使用forceremove方法
///
///
///
public static async taskremove(string gid)
/// /// 強制刪除
///
///
///
public static async taskforceremove(string gid)
///
///
///
public static async taskpause(string gid)
/// /// 暫停全部任務
///
///
///
public static async taskpauseall()
///
///
///
public static async taskforcepause(string gid)
///
///
///
public static async taskforcepauseall()
///
///
///
public static async taskpausetowaiting(string gid)
///
///
///
public static async taskpausetowaitingall()
///
///
///
public static async tasktellstatus(string gid)
///
///
///
public static async taskgetglobalstat(string gid)
///
///
///
public static async taskgeturis(string gid)
///
///
///
public static async taskgetfiles(string gid)
}}
Aria2的版本問題(啟動方式)
今天遇到了乙個非常奇怪的問題,由於之前在斐訊n1裡安裝的debian9中的samba伺服器出現錯誤,重新安裝了ubuntu的armbian伺服器版,沒有注意aria2的版本問題,依舊按照aria新的啟動方式,然後就一直報錯,檢查許可權,配置檔案一直無法解決問題,鬱悶半天 報錯exception do...
製作自己的c函式庫
ifndef my func h define my func h 判斷閏年還是平年 閏年則返回1 intd isleapyear int year 判斷乙個數是否是素數 intd isprimenum int num 求圓面積,引數和返回值為浮點型 double d computearea dou...
製作自己的Linux系統與啟動光碟 2
製作支援 legacy bios 啟動光碟的步驟 2.1 step1 準備 isolinux.bin 和工作目錄 當然還要放入相應的 kernel,initrd 等等,目錄結構如下 清單 1.cd root 目錄結構 isolinux isolinux.bin isolinux.cfg kernel...