c 自己製作的Aria2類

2021-09-11 07:17:31 字數 2630 閱讀 3323

實現原理

利用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...