结合这段时间搜集到到资料,比较理想的方案是通过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的模块
关于Websocket比较详细的教程可以参考Qt WebSocket的基本使用