断点续传中服务器埋下的坑

2023-11-30 03:58

本文主要是介绍断点续传中服务器埋下的坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在一个项目中需要运用到文件下载的断点续传功能。我使用的是MKNetwork + SIDownLoader 实现。项目之初,一切正常,并成功发布一个beta版本。待到测试正式版本的时候,测试人员拿着ipad mini2来了:“你的断点续传下载的文件不能打开”。于是我续传了一个文件,还真是不能打开,查看下载的文件大小,和服务器上一样。我的第一反应是,有可能是断点续传功能代码写得不够强壮,导致在64位处理器下不能正常下载(之前测试都是用32位处理器的机器,后来才开始使用64位机器测试,在64位处理器下也确实出现了很多小问题,所以感觉应该是它)。为了验证,我换上32位的机器,再来一次,问题依旧。再一想,有可能是系统差异导致,之前IOS7.1还没发布,是用IOS7.0测试的,现在是在IOS7.1下测试。于是换上IOS7.0测试,该有的问题还是出现了。最有可能导致出现bug的原因都排除了,接下来我就想会不会这个bug之前就一直存在,只是运气好一直没出现?如果真是这样的话,就是断点续传的代码有问题,于是我仔细查看SIDownLoader类和自己的二次封装类,并在debug的时候仔细查看续传的range是否有错误,都没问题。就这样,一天的上班时间结束了。由于当前项目吃紧,导致我没更多的时间研究它,于是只能先取消断点续传功能,赶完其它功能并测试通过后发布了一个正式版。缺少了断点续传的正式版就这样发布了,接下来又要开始另一个项目,时间也是那么的紧。但断点续传的bug从出现到现在就一直在我脑中环绕,我决定再抽出点时间研究它:我下载了AFNetwork,做了一个断点续传的demo测试,bug依旧。两个网络请求类都有问题?这不得不让我怀疑是不是服务器出问题了。于是我把文件放到dropbox中,测试从dropbox中断点续传到本地,打开,没问题了。多次测试,都没问题。于是我找来后台人员告诉其续传这一块在服务器出现了bug,后台人员仔细测试后发现了问题所在:因为之前服务器为了缓解服务器压力,所以做了负载均衡,而多台服务器的文件都不同,导致断点续传中在这台服务器下载了一半,然后又在另一台服务器下载了一半,以至于下载下来的文件虽然大小相同,但是却不能打开。

这篇关于断点续传中服务器埋下的坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/435537

相关文章

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指