晚上回来,远程连接到系统,发现已有两个客户机无法正常传输文件了
观察了下日志,发现系统各方面都正常
应该是文件传输的服务器端文件指针的维护存在一些隐性的bug
在服务器长时间运行后,可能会导致本来可下载的文件超过最大下载限制而不可下载
把服务器重启下,一切又OK了
把ftp程序重新考虑下
可能会有如下的需求:
传输需求:
1.二进制数据采用base64编码
2.数据片的md5校验
3.断点续传
4.速度限制
服务器:
1.能够实时观察当前连接的客户,与每个客户当前正在下载的文件,以及下载的即时信息
2.对当前传输的文件进行控制,比如暂停,中止
3.主动将文件push给客户端
4.接收客户文件请求
5.下载文件的维护,比如同时下载同一份文件的用户数限制;
6.考虑下效率;比如大量用户请求同一份文件,可考虑cache;对文件的分片请求部分进行优化
客户端:
1.实时观测文件传输信息,比如进度与速度
2.能够接收用户对文件传输的控制
3.监听服务器的文件push
4.主动向服务器请求上传/下载文件
5.接收其他进程的任务请求
6.检测网络状况(时延),对文件的分片大小进行控制(不知道在无线传输时是否会优化性能?相对有线传输,无线较大的丢包率与较长的网络时延都可能较大的提高重传概率。)
服务器端是最需要完善的。现在只有一个功能,就是接收客户文件请求并响应,然后其他啥功能都没有了。
如果真能够把这个东西做好,还是挺有用处的。可以在不同的系统的复用。
问题是,会容许我继续在这个问题上面纠缠么?
会有时间继续完善么?
如果真的要做好,整个系统肯定需要重新构架,网络框架可能要自己来写,完成这些功能,至少需要 两个月。也许会更多。
分享到:
相关推荐
9. **安全性**:考虑到网络安全,现代FTP系统可能需要支持FTPS(FTP over SSL/TLS)或SFTP(SSH File Transfer Protocol),这需要使用如JSch这样的库,并配置相应的证书和安全设置。 10. **多线程设计**:为了提高...
4. **多语言支持**:考虑到全球化的使用需求,webFTP通常会提供多种语言界面,便于不同地区的用户使用。 5. **日志记录**:系统记录用户操作日志,有助于追踪和审计文件变动情况。 6. **用户管理**:可以创建和...
FTP系统,全称为Fund Transfer Pricing,即资金转移定价,是一种银行业内部管理工具,用于衡量和分配银行内部各部门的资金成本和收益。FTP系统的核心是通过精确计算各类资产和负债的利率,来确定每项业务对银行整体...
7. **安全性考虑**:虽然这个FTP系统设计适合学生课程设计,但实际的FTP服务应考虑安全性,如使用SSL/TLS加密通信、限制匿名访问、以及实施更严格的用户权限控制。 8. **设计报告**:`FTP系统设计.doc`很可能是项目...
8. **错误处理与异常恢复**:考虑到网络环境的不稳定,系统需要有良好的错误处理机制,如重试机制、断线重连等,以确保服务的稳定运行。 9. **可扩展性**:优秀的FTP收费系统应具备一定的可扩展性,能够适应未来...
8. **多语言支持**:考虑到不同地区的用户,系统可能提供了多语言界面,这需要相应的语言包和切换机制。 9. **API扩展**:如果系统设计得足够灵活,可能还提供了API供其他应用或服务集成,例如自动化脚本或第三方...
"ce系统的FTP 百分百可用"这个标题表明,FTP服务在CE系统环境下能够稳定、可靠地运行。 FTP服务端是指在服务器端运行的程序,它允许远程客户端连接并执行文件上传、下载等操作。在CE系统上实现FTP服务端的百分百...
Linux 下 FTP 服务器配置是指在 Linux 操作系统下安装、配置和启动 FTP 服务器,以便用户可以通过 FTP 客户端上传、下载文件。FTP 服务器是一种常用的网络服务,允许用户通过 Internet 访问和管理服务器上的文件。 ...
- 实现过程中,必须考虑各种可能出现的错误,如网络中断、文件系统错误、无效的用户输入等,并返回相应的FTP响应码。 8. **日志记录**: - 为了监控和调试,FTP服务器应该记录客户端的所有活动,包括登录尝试、...
在Spring Boot框架中,管理FTP文件系统涉及到使用Java的FTP客户端库来实现文件的上传和下载功能。Spring Boot简化了这一过程,通过集成各种库,如Apache Commons Net或JSch,我们可以轻松地创建一个FTP服务客户端。...
让我们深入探讨一下FTP系统、FTP服务器以及如何用Java来实现一个FTP服务器。 FTP系统的核心在于它的客户端-服务器架构。客户端通过连接到服务器,发送命令来执行文件操作,如上传、下载、列出目录等。FTP使用TCP...
### Win7系统下配置和访问FTP #### 一、FTP服务器功能概述 FTP(File Transfer Protocol),即文件传输协议,是一种用于在网络上进行文件传输的标准协议。FTP的主要用途是在客户端和服务器之间传输文件,使得用户...
总的来说,Linux下的FTP配置是一项关键的任务,需要综合考虑安全性、效率和用户体验。通过合理配置上述文件和参数,可以构建一个既安全又易于使用的FTP服务器。务必确保定期更新和审查这些配置,以适应不断变化的...
Linux 平台下 FTP 客户端的设计思路需要考虑到 Linux 操作系统的特点。例如,可以使用 Linux 的 socket 编程来实现 FTP 客户端的连接服务器和数据传输。 四、结论 Linux 平台下 FTP 客户端的设计思路是非常重要的...
本文将详细介绍如何在Linux环境下搭建FTP服务器,以便于文件共享和远程管理。我们将遵循以下步骤: 1. **选择FTP服务器软件** 在Linux中,有几种常见的FTP服务器软件可供选择,如vsftpd、ProFTPD和PureFTPD。本...
10. **测试与调试**:在多种设备和网络环境下测试FTP服务器,确保其稳定性和兼容性。使用Wireshark等网络分析工具进行抓包分析,可以帮助找出潜在问题。 在压缩包"ios-ftp-server"中,包含了实现iOS FTP服务器的源...
在Windows操作系统中,有许多FTP客户端工具可以帮助用户方便地下载或上传文件到FTP服务器。本篇文章将详细介绍如何在Windows环境下使用FTP下载工具,以Seagull FTP为例进行讲解。 Seagull FTP是一款功能强大的免费...
在嵌入式系统中实现FTP服务器需要考虑内存限制、CPU性能以及功耗。这个示例可能使用了轻量级的协议栈,只实现了基本的FTP功能,以适应资源有限的环境。 5. 数据结构和控制流程: FTP命令处理可能涉及到一系列的...
8. **实际应用与学习价值**:这个FTP系统作为参考例子,可以帮助开发者理解如何实现一个完整的文件传输服务,包括网络通信、多线程编程以及用户交互等方面,对于学习和理解网络编程和文件传输机制非常有价值。...