c/c++ socket实现网盘

问题描述

c/c++ socket实现网盘

老师布置这样一个作业,以Linux作服务器做一个网盘,要求断点续传和多用户上传同一文件,有几个问题没想明白,想问问。
1、断点续传的话,应该可以通过记录已上传文件的大小来实现。client上传文件的时候,server回复已上传的大小,然后client就跳过已上传的部分。
2、但是,多用户上传同一个文件要怎么实现?怎么把一个大文件的不同部分分配给各个client分别上传?如果上传期间有新的client上传,或者正在上传的client退出,原来的分配计划也要动态更改。
我目前的想法是,server收到上传的请求后,得到文件的大小,然后把文件分成若干个固定大小(m 字节)的块。然后server发送一个块号k给client,client就发送文件的第k块给server。server再根据块号的大小顺序保存client发来的数据。多个用户同时上传时,server就依次发送不同的块号给各个client。
我想问问有没有更好的方案。

解决方案

转换思维,客户端自己记录文件下载的偏移量,断点续传的时候携带偏移量发送给服务端

时间: 2024-09-26 22:30:40

c/c++ socket实现网盘的相关文章

如何搜索网盘资源

1.在baidu.com的搜索框中输入:site:pan.baidu.com 搜索词(回复中林涛同学建议第一条如果用谷歌搜site:百度网盘的话效果会好一点)2.壹搜 网盘搜索引擎3.盘易搜 盘易搜-百度网盘搜索4.BD盘搜索 百度网盘资源搜索引擎5.网盘搜索引擎 百度网盘搜索引擎6.百度网盘搜索 笑话大全,GIF笑话图片,动态图,经典GIF搞笑图片,动态笑话图7.网盘屋 百度网盘搜索-网盘搜索下载8.网盘搜索引擎 网盘搜索引擎_网盘资源轻轻一搜就在眼前9.百度盘搜索引擎 网盘搜索引擎_百度云网

【转】烂泥:网盘的秒传原理

什么是秒传? 秒传是一种在网盘上常见的"忽略式"上传方式,比如您上传了一个文件名为aaa.exe,MD5为一个数,网盘上以前也有人上传一个叫aaa.exe,MD5和您上传的文件MD5码一模一样,所以这个文件上传到服务器上的时间就很短了,这是因为别人上传过这个文件,您现在上传这个文件,服务器上有这个文件了,所以服务器保留一个地址给你.文件实际只有一份.就好比,别人叫你做以前做过的事情,又有人今天找你来让你做相同的事情,你是不是已有经验,会很熟练,做的时间就快多了?在这里也是同理. 秒传的

115网盘宣布:英文版,繁体版正式上线

115网盘英文版.(TechWeb配图)11月14日消息,115网盘宣布,115网盘英文版(https://www.115.com/?lang=en)于昨日正式上线为海外用户提供云存储服务.与此同时,115网盘繁体版也正式上线,港澳台用户又多了一种网盘选择.115网盘已经支持windows.linux.iPhone.iPad.Mac .Android.Win Phone等多系统平台终端,方便智能手机用户进行数据文件的云储存备份和分享,此次推出英文版和繁体版,让115网盘无论在多终端兼容性还是平台

link环境下使用codefirst制作《网盘软件》,什么是机房什么是主机什么是空间,怎么选?

问题描述 link环境下使用codefirst制作<网盘软件>,什么是机房什么是主机什么是空间,怎么选? link环境下使用codefirst制作<网盘软件>,什么是机房什么是主机什么是空间,怎么选? 解决方案 机房里有服务器,服务器里有空间,空间最便宜,服务器贵,服务器速度快,建议选择云主机.

Win8.1轻松玩转内置的SkyDrive网盘功能

上个月,微软向全球发布了最新的Win8.1系统,同样对自带的多款的Modern应用也进行了功能更细和整合.其中一个就是SkyDrive应用,可以说,这个网盘已经与Win8.1系统高度整合在一起,无论是本地还是云端,都能操作. SkyDrive是微软帐户附带的免费云存储,容量从7G到25G不等,扩容需要点券或者付费.由于与Win8.1系统的整合,可以视为一个额外的硬盘驱动器,因此用户保存在网盘里的文件始终和用户的微软账户同步和绑定. 下面就介绍下SkyDrive网盘应用实际操作技巧: 实例一.使用

link环境下codefirst制作《网盘软件》,“云服务器”如何应对大量访问不卡机?

问题描述 link环境下codefirst制作<网盘软件>,"云服务器"如何应对大量访问不卡机? link环境下codefirst制作<网盘软件>,"云服务器"如何应对大量访问不卡机? 解决方案 "卡"有两个原因,一个是服务器返回数据慢,一个是客户端设计不合理,比如同步处理阻塞了界面,或者没有给用户足够的等待信息等.

谷歌浏览器不能下载百度网盘文件怎么解决

  谷歌浏览器不能下载百度网盘文件怎么解决          使用谷歌Chrome浏览器的朋友,可能经常遇到打开百度云网盘,点击里面的文件,却不能正常下载保存的问题.这里介绍一下原因与解决方法. 方法一: 1.首先,我们正常打开百度云中的网盘,鼠标放到想下载的文件上方.然后点击浮现的下载图标按钮. 2.然而点击文件下载按钮后,Chrome浏览器并没有正常下载保存文件.仔细观察一下,这时我们会发现Chrome浏览器的地址栏,右侧出现一个盾牌模样的图标. 3.我们点击这个盾牌图标,出现下列提示:此网

115网盘如何下载资源

  115网盘如何下载资源?115网盘是目前流行的网络硬盘.通过它,我们可以下载诸多资源,比如BT种子,HTTP,HTTPS,FTP,磁力链接,电驴链接等,其使用方法与百度云.360云盘和腾讯微云类似.今天小编就详细介绍下115怎么下载资源. 115网盘怎么下载东西? 这里我们介绍Windows电脑115网盘下载文件的操作步骤,其他如Mac.安卓和iOS平台操作类似,不再具体介绍 一.首先需要一个115网盘账号(如果有的话直接跳到第三步),进入115网盘官网(115.com),点击免费注册 二.

百度网盘文件直链PHP代码

通过正则表达式获取百度网盘的文件真实地址,来实现直链的效果,适合一些使用外链的网站使用. <?php $canshu=$_SERVER["QUERY_STRING"]; if($canshu=="")  {  die("文件不存在");  } else { $wangzhi="http://pan.baidu.com/share/link?".$canshu; $file=file_get_contents($wangz