仓酷云

标题: 了解下JAVA的用Java完成HTTP断点续传 [打印本页]

作者: 飘飘悠悠    时间: 2015-1-18 11:26
标题: 了解下JAVA的用Java完成HTTP断点续传
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。
(一)断点续传的道理
实在断点续传的道理很复杂,就是在Http的哀求上和一样平常的下载有所分歧罢了。打个例如,扫瞄器哀求服务器上的一个文时,所收回的哀求以下:
假定服务器域名为www.bianceng.cn,文件名为down.zip。
GET/down.zipHTTP/1.1
Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,application/vnd.ms-
excel,application/msword,application/vnd.ms-powerpoint,*/*
Accept-Language:zh-cn
Accept-Encoding:gzip,deflate
User-Agent:Mozilla/4.0(compatible;MSIE5.01;WindowsNT5.0)
Connection:Keep-Alive
服务器收到哀求后,按请求寻觅哀求的文件,提取文件的信息,然后前往给扫瞄器,前往信息以下:
200
Content-Length=106786028
Accept-Ranges=bytes
Date=Mon,30Apr200112:56:11GMT
ETag=W/"02ca57e173c11:95b"
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon,30Apr200112:56:11GMT
所谓断点续传,也就是要从文件已下载的中央入手下手持续下载。以是在客户端扫瞄器传给
Web服务器的时分要多加一条信息--从那里入手下手。
上面是用本人编的一个"扫瞄器"来传送哀求信息给Web服务器,请求从2000070字节入手下手。
GET/down.zipHTTP/1.0
User-Agent:NetFox
RANGE:bytes=2000070-
Accept:text/html,image/gif,image/jpeg,*;q=.2,*/*;q=.2
细心看一下就会发明多了一行RANGE:bytes=2000070-;这一行的意义就是告知服务器down.zip这个文件从2000070字节入手下手传,后面的字节不必传了。
服务器收到这个哀求今后,前往的信息以下:
206
Content-Length=106786028
Content-Range=bytes2000070-106786027/106786028
Date=Mon,30Apr200112:55:20GMT
ETag=W/"02ca57e173c11:95b"
Content-Type=application/octet-stream
Server=Microsoft-IIS/5.0
Last-Modified=Mon,30Apr200112:55:20GMT
和后面服务器前往的信息对照一下,就会发明增添了一行:
Content-Range=bytes2000070-106786027/106786028
前往的代码也改成206了,而不再是200了。
晓得了以上道理,就能够举行断点续传的编程了。
<p>
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
作者: 活着的死人    时间: 2015-1-21 06:18
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 透明    时间: 2015-1-27 07:38
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者: 仓酷云    时间: 2015-2-4 10:51
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 精灵巫婆    时间: 2015-2-4 20:03
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 飘飘悠悠    时间: 2015-2-6 16:38
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 海妖    时间: 2015-2-16 10:19
是一种使用者不需花费很多时间学习的语言
作者: 第二个灵魂    时间: 2015-2-16 21:57
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
作者: 再现理想    时间: 2015-2-18 05:50
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 老尸    时间: 2015-2-26 02:32
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 小女巫    时间: 2015-2-28 11:53
是一种使用者不需花费很多时间学习的语言
作者: 金色的骷髅    时间: 2015-3-4 16:56
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 变相怪杰    时间: 2015-3-8 10:52
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 飘灵儿    时间: 2015-3-15 22:05
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 若天明    时间: 2015-3-22 05:10
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2