程序测试环境: Win7 + Eclipse + Android2.2以上版本模拟器 数据库: SQLite
程序功能:
通过TCP/IP协议使用socket编程,客户端向服务器发送大文件,当因为意外情况造成网络中断,再次上传可以从断点地方续传!当客户端第一次上传文件时,服务器会给这个文件生成一个唯一的标识符id返回给客户端,客户端接收到这个文件的id标识后,将该文件的路径和这个标识绑定到一起并保存到数据库中,同时服务器保存了该文件已经上传的大小,这样当客户端下次上传这个文件时,首先将该文件的标识符发送给服务器,服务器识别到用户原来已经上传到了这个文件,就读取这个文件已经上传的长度然后返回给客户端,客户端就从断点位置继续上传文件,从而实现了断点续传功能!
//得到客户端发来的第一行协议数据:Content-Length=143253434;filename=xxx.3gp;sourceid=
//如果用户初次上传文件,sourceid的值为空。
//服务器收到客户端的请求信息后,给客户端返回响应信息:sourceid=1274773833264;position=0
//sourceid由服务生成,唯一标识上传的文件,position指示客户端从文件的什么位置开始上传
文件上传断点续传-1启动服务器
文件上传断点续传-2文件上传
文件上传断点续传-3上传完成
文件上传断点续传-4项目文件清单