有人用java做过一边上传一边下载吗?

问题描述

最近有个想法,想通过HTTP实现一边上传一边下载,实现类似实时传输的目的。所以这里有两个问题:A,B为两个客户端,WebServer(以下简称WS)起到一个中转的作用1.A想传送一个文件给B,这里用两个方法:第一,A先将整个文件上传给WS,上传完了然后通知B(先不关心怎么去通知),B去WS下载;第二,A开始向WS上传文件,B几乎同时开始去WS下载(假设不存在实现的问题),A上传完毕,B也基本上下载完毕;这个两种方法相比较而言,第二种比第一种快吗?快多少?2.这里就讨论一下如何实现的问题,比较概括来说(先不考虑多用户的问题),WS使用RandomAccessFile来保存A上传的文件,通过RandomAccessFile的length方法可以知道文件的实时大小(不停的写)。B发送GET请求,servlet向response里写已经保存下来的文件,B接收的文件完整后结束。希望有哪位大侠有实现过这个想法,有兴趣可以一起讨论。

解决方案

解决方案二:
每次只读n个字节+生产消费模式??
解决方案三:
楼主有创意,关注....
解决方案四:
我感觉一般情况下,第二种方法会比第一种快。不过,是两个不同的客户端,所以第二种方法也不能算“一边上传,一边下载”了。应该算是WebServer的基本功能了,只要解决同步问题就行了,就是避免下载者下载速度比上传速度快。
解决方案五:
怎么这个模式像是电驴下载器的下载模式啊?
解决方案六:
关注
解决方案七:
原理类似于传送文件,A端通过代理将文件传到中转服务器(也就是WS)的同时发送给B,可以参考Spark传送文件功能,就是在Stun穿透失败的情况下走代理

时间: 2024-10-30 17:59:00

有人用java做过一边上传一边下载吗?的相关文章

短信接口-目前在用java做电信移动联通的短信收发接口,有做过的人请教!!!!!!!!!急

问题描述 目前在用java做电信移动联通的短信收发接口,有做过的人请教!!!!!!!!!急 BOSS 让我两周之内完成 头都大了,看了三个运营商的协议,看懂了一部分,现在的结果就是 单个号码发送 都可以了,就是不知道怎么接收短信,怎么获取每个用户短信送达状态. 发送我是这么做的: CMPP: 先连接网关,往socket里面写登陆报文输入,读取网关返回的登陆响应报文,登陆成功,提交submit报文,获取submit响应报文,然后短信就收到了. SMGP:类似 SGIP:类似 疑问:1) 怎么接收短

java 后台实现文件上传代码

问题描述 java 后台实现文件上传代码 java后台做一个文件上传,前端选择了照片点击上传到后台,后台需要保存到服务器上, 这个该怎么做,能不能贴一贴现成的代码?求解 解决方案 try { ??????????? FileItemFactory factory = new DiskFileItemFactory(); ??????????? ServletFileUpload upload = new ServletFileUpload(factory); ??????????? ??????

java 路由器心跳包-java中怎么接收服务器传过来的json呢?谢谢大家

问题描述 java中怎么接收服务器传过来的json呢?谢谢大家 最近最到了一个关于路由器心跳包,需要用java实现,在取值方面,路由器传过来的是一串json { "gwmac":"c8:3a:35:29:bc:80","gwaddr":"192.168.1.10","gwport":"8080","usrnum":"0", "versio

求大神指教,用java做简易的银行系统

问题描述 求大神指教,用java做简易的银行系统 开户代码已经写完 用txt存用户信息,求大神指教取款时怎么验证用户输入的账号是否存在 谢谢 解决方案 循环和文本中每一行的用户名.密码判断 http://www.doc88.com/p-981342547748.htmlhttp://download.csdn.net/detail/rf111/1703402 解决方案二: 1.可以读取一条判断一下: 2.可以把用户全部读取出来存在Session中(如果储户数量比较少的话). 解决方案三: 在服务

javaweb-IOS 获取图片路径然后生成NSData数据,Java做的后台怎么接收数据并保存

问题描述 IOS 获取图片路径然后生成NSData数据,Java做的后台怎么接收数据并保存 RT,现在在进行一个项目,好久没写代码了,这个要与IOS进行交互,IOS那边生成的NSData数据,action需读取并保存,哪位能指点一下迷津,不要讲上传原理,原理我造 - -

详解Java的Struts框架中上传文件和客户端验证的实现_java

文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失. 请注意,服务器有一个安全策略可能会禁止写到目录以外的临时目录和属于web应用的目录. 在Struts中的文件上传是通过预先定义的拦截文件上传拦截器这是可通过org.apache.struts2.interceptor.FileUploadInterceptor类的defaultStack

怎么样用JAVA 实现文件的上传下载?

问题描述 哪位高手帮帮忙,我现在需要用eclipse7.1开发一个小模块,里面需要有上传下载功能,(例如上传一个word文档,下载文档)哪为高手告诉我应该怎么做?越详细越好.用的服务器是tomcat5. 解决方案 解决方案二:哦11111知道了解决方案三:数据库用的Oracle9i.谢谢了~~急求!解决方案四:这个好难的类解决方案五:使用或参考smartupload.jar解决方案六:struts里面不是有包含文件上传的功能吗FormFile解决方案七:我就知道要用到这个插件JSPSmart,具

用JAVA做WEB一定要用SSH等框架吗?

问题描述 最近学着用JAVA做WEB服务器,七拼八凑弄出个难看的可以用的东西:界面只有几个各功能的连接.数据库用JDBC.每个任务后台对应一个servlet,感觉很不对劲.难道一定要用SSH等框架来实现吗,都来说说看,怎么学习JAVA动态服务器开发. 解决方案 解决方案二:小项目不一定用SSH框架,至于你说的每个任务对应一个servlet,你可以在一个serlvet中写其他的方法,在页面顶多多传一个method的属性,在doget或者dopost中的判断这个method,来调用相应的方法,比如你

java做了一个exe程序怎么通过监听返回运行程序的路径

问题描述 java做了一个exe程序怎么通过监听返回运行程序的路径 用java写了个程序,想实现开机启动的功能,方法是想写入注册表,但是我要怎么知道我打开的这个程序的路径,就是我要通过监听,然后程序打开开机启动功能怎么返回该程序的路径,明白我的意思吗,或者有其他方法也可以? 解决方案 可以通过两种方式解决: 1.String path = new File(".").getCanonicalPath(); 2.System.getProperty("user.dir"