结合这段时间搜集到到资料,比较理想的方案是通过RPC(websocket)来与运行时的Aria2(必须是运作中)进行通讯。

在配置文件和命令行都有RPC的相关配置:

例如:配置文件中的:

## RPC 设置 ##

# 启用 JSON-RPC/XML-RPC 服务器, 默认:false
enable-rpc=true

# 接受所有远程请求, 默认:false
rpc-allow-origin-all=true

# 允许外部访问, 默认:false
rpc-listen-all=true

# RPC 监听端口, 默认:6800
rpc-listen-port=6800

# RPC 密钥
rpc-secret=P3TERX

# RPC 最大请求大小
rpc-max-request-size=10M
如果想将上述配置加入到命令行进行启动的话,只需将配置项前面加上–配置参数名称=值

例如:

aria2c --enable-rpc=true --rpc-max-request-size=10M 

Aria2 默认的RPC端口是6800 ,可以根据需要进行更改,同时rpc-secre是发送命令的Token密匙,如果不需要Token密匙可以将这项注释掉即可,为了安全性最好是设置一下。

往后的文章将以Qt框架,C++语言来进行演示

Qt集成了WebSocket的功能,只需要在工程项目里面加入Websocket的模块。

QT       += core gui websockets

加入 websockets
如果是Visual studio 解决方案的只需在项目里面勾选Websocket的模块
Aria2 开发历程 (4) --使用RPC与 Aria2 进行通讯-LMLPHP关于Websocket比较详细的教程可以参考Qt WebSocket的基本使用

12-01 10:44