untiy 使用addressable插件自带的下载方法 Addressables.DownloadDependenciesAsync(),当我下载大于100mb远程的ab包时下载一部分后就会断开连接报错:Curl error 18: transfer closed with 64755563 bytes remaining to read,其它小于100mb的远程ab包下载没有问题。addressable设置如图
unity addressable远程下载
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 阿里嘎多学长 2024-06-06 18:47关注
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
从你提供的Unity Addressable插件设置截图来看,有几个设置可能会影响到大文件的下载。以下是一些可能的原因和解决方案:
-
Catalog Download Timeout:这个设置控制了下载超时的时间。如果设置的值太低,可能会导致大文件下载时超时。你可以尝试增加这个值。
-
Max Concurrent Web Requests:这个设置限制了同时进行的网络请求数量。如果这个值设置得太低,可能会影响到大文件的下载。你可以尝试增加这个值。
-
Custom certificate handle:如果你的服务器使用了自定义的SSL证书,而Unity没有正确配置来处理这个证书,可能会导致连接问题。确保这个设置正确配置。
-
Build Addressables on Play:这个设置决定了是否在运行时构建Addressables。如果启用,可能会影响下载性能。
-
Asset Bundle Cache Settings:确保缓存设置合理,以便在下载大文件时有足够的空间和正确的缓存策略。
-
Network 环境:网络环境不稳定也可能导致下载中断。检查你的网络连接是否稳定。
-
服务器设置:服务器端可能也有文件传输的限制,比如最大传输文件大小或传输超时设置。
-
Curl error 18:这个错误通常表示连接被关闭了。这可能是因为服务器端的配置问题,或者是因为下载过程中的数据包丢失。
针对你的具体情况,以下是一些可能的解决方案:
- 增加超时时间:在Addressable的设置中增加
Catalog Download Timeout
的值。 - 增加并发请求:增加
Max Concurrent Web Requests
的值。 - 检查网络配置:确保你的网络环境稳定,并且服务器配置允许大文件的传输。
- 服务器端配置:检查服务器端是否有相关的传输限制,并进行相应的调整。
关于代码实现,你可以使用Unity Addressables的API来控制下载过程,例如:
Addressables.LoadAssetAsync<GameObject>("your_asset_path").Completed += handle => { if (handle.Status == AsyncOperationStatus.Succeeded) { // 成功加载资源 } else { // 处理错误 } };
对于参考资料,你可以查看Unity官方文档中的Addressables部分,这里提供了关于如何使用Addressables以及相关设置的详细信息:
此外,Unity论坛和社区也是获取帮助的好地方,你可以在那里找到其他开发者分享的经验和解决方案。
如果你需要进一步的帮助,可以提供更多的信息,例如你的网络环境,服务器配置等,以便更准确地诊断问题。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 1 -
悬赏问题
- ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
- ¥50 comsol温度场仿真无法模拟微米级激光光斑
- ¥15 上传图片时提交的存储类型
- ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
- ¥15 VB.NET如何绘制倾斜的椭圆
- ¥15 arbotix没有/cmd_vel话题
- ¥20 找能定制Python脚本的
- ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
- ¥15 用C语言怎么判断字符串的输入是否符合设定?
- ¥15 通信专业本科生论文选这两个哪个方向好研究呀