目前客户端下载某个文件需要客户端进行限速,客户端下载类的实现使用 DownloadItem https://www.electronjs.org/zh/docs/latest/api/download-item 查找相关的一些 api 发现: https://www.electronjs.org/docs/latest/api/session#sesenablenetworkemulationoptions
win.webContents.session.enableNetworkEmulation({
latency: 500,
downloadThroughput: 6400,
uploadThroughput: 6400
})
但是添加一直没有效果,没有起作用,我们使用的 Electron 版本是 24.8.8 ,查找官方 issue
https://github.com/electron/electron/issues/21250 怀疑和这个相关,下面有个哥们有这个方案,我也尝试发现 dbg.sendCommand('Network.enable') 这里这里报错了,try catch 跳出了
const dbg = myWebContents.debugger
dbg.attach()
await dbg.sendCommand('Network.enable')
await dbg.sendCommand('Network.emulateNetworkConditions', {offline: true, latency: 0, downloadThroughput: -1, uploadThroughput: -1})
所以想了解下有木有其他客户端伙伴实现过相关的方案,我也考虑过其他一些方案
1.升级 Electron 版本,addon 和一些语法需要适配
2. 使用 node-libcur ,两套下载类需要统一 这两种代码的改动都会稍微大一点
1
mumbler 12 天前
项目代码交给 cursor ,让智商 130 的 gemini 2.5 pro 全权处理,你只管提需求,验证结果就行了,不要管它用什么方法实现
|
2
renmu 11 天前 via Android
主进程自己实现一个下载
|