伟大的程序员

我要在代码的世界里只心生命的律动, 我要在智慧的王国里探知最高的理智, 我要成为一个真正伟大的程序员。 为此,我永不停息! 我永不停息! 我永不停息!

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  12 Posts :: 19 Stories :: 0 Comments :: 0 Trackbacks

公告

求学之心,四海为师。

常用链接

留言簿

搜索

  •  

最新评论

阅读排行榜

评论排行榜

置顶随笔 #

C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。

1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段
2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --提供数以百计的C和C++脚本和程序。所有程序都分为不同的类别。
3、http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --超过万行C和C++免费的源代码
4、http://freshmeat.net/browse/164/ --超过9000个C编写的项目。
5、http://www.daniweb.com/code/c.html --DANIWEB提供的实用代码段 。
6、http://www.programmersheaven.com/tags/C/ --programmersheaven.com上的C编程资源。
7、http://www.ddj.com/code/ddj.html --Dr. Dobb’s Journal的源代码。
8、http://www.cprogramming.com/cgi-bin/source/source.cgi --C和C + +编程资源。
9、http://www.codecogs.com/ --CodeCogs是一项协作的开放源码库,C/C++的数值方面的组件。
10、[URL=http://www.google.com /codesearch?q=programming++lang:c&cs_r=lang:c ]http://www.google.com/codesearch?q=programming++lang:c&cs_r=lang:c [/URL] --谷歌代码的C源代码。
11、http://www.codepedia.com/1/C --CodePedia是一个开放的关于系统编程和其他与电脑有关的议题。
12、http://www.cis.temple.edu/~ingargio/cis71/code/ --为学生提供的一个简单的C语言程序的列表。
13、http://www.codeproject.com/?cat=2 --codeproject提供的C/C++资源代码项目。
14、http://www.thefreecountry.com/sourcecode/cpp.shtml --以下是一些C和C++库的DLL,VCLs,源代码,元件,模块,应用程序框架,类库,源代码片段等,你可以在您的项目中使用而不需要支付费用和版税。
15、[URL=http://people.sc.fsu.edu /~burkardt/cpp_src/cpp_src.html ]http://people.sc.fsu.edu/~burkardt/cpp_src/cpp_src.html [/URL] --这是一个全面的关于C++的345个源代码清单。
16、http://www.cplusplus.com/src/ --C++写的通用控制台程序和Windows程序代码清单。
17、http://users.cs.fiu.edu/~weiss/dsaa_c++/code/ --C++语言数据结构与算法分析(第二版)的源代码。
18、http://c.snippets.org/ --C源代码片段。
19、http://www.bbdsoft.com/downloads.html --C++源代码。
20、http://www.moshier.net/ 天文学和数值软件源代码
21、http://cplus.about.com/od/cgames/C_Games_with_Source_Code.htm --游戏有关的C++源代码。
22、[URL=http://cliodhna.cop.uop.edu /~hetrick/c-sources.html ]http://cliodhna.cop.uop.edu/~hetrick/c-sources.html [/URL] --免费的C/C++数值计算源代码。
23、http://www.mathtools.net/C_C__/Utilities/index.html --C/C++工具。
24、http://www.programmerworld.net/resources/c_library.htm --免费C++源代码和其它有用的工具。
25、http://www.cmcrossroads.com/bradapp/links/cplusplus-links.html --布拉德阿普尔顿的C++链接-资源,项目,图书馆,教学和编码。
26、http://www.robertnz.net/cpp_site.html --这是一个收集了数C/C++网站链接列表的网页。
27、http://www.josuttis.com/libbook/examples.html --在这里,你可以看到并下载所有的本书的C++标准库例子 。
28、ftp://66.77.27.238/sourcecode/cuj/ --C/C++用户杂志
29、ftp://66.77.27.238/sourcecode/wd/ --Windows开发者网络
30、http://www.einet.net/directory/65892/Developers.htm --C程序
31、http://www.daniweb.com/code/cplusplus.html --实用代码段。
32、http://snippets.dzone.com/tag/c --C++源代码
33、http://www.programmersheaven.com/tags/C --C++编程资源,programmersheaven.com
34、http://www.google.com/codesearch?hl=en&lr=&q=programming --谷歌代码搜索-C++编程语言
35、http://www.codepedia.com/1/Cpp --CodePedia是一个开放的关于系统编程和其他与电脑有关的议题的网站。
36、http://www.codebeach.com/index.asp?TabID=1&CategoryID=3 --C++源代码,Codebeach提供
37、http://freshmeat.net/browse/165/ --5000项目写的C++编程语言
38、http://cplus.about.com/od/codelibrary/Code_Library_for_C_C_and_C.htm --代码库C、C + +和C#。
39、http://www.c.happycodings.com/ --Visual Basic、PHP、ASP技术、C、C++大全。
40、http://www.blueparrots.com/ --Borland C游戏,图像和声音源代码范例。
41、http://www.java2s.com/Code/Cpp/CatalogCpp.htm --C++源代码。
42、http://www.yeohhs.com/modules/mydownloads/ --C与C++电子书和源代码示例。
43、http://www.brpreiss.com/books/opus4/programs/index.html C++的数学方程和公式源代码。
44、[URL=http://users.cs.fiu.edu][/URL]http://users.cs.fiu.edu/ C++。
45、[URL=http://www.josuttis.com/libbook/examples.html][/URL]http://www.josuttis.com/libbook/examples.html --C++标准库-教程和参考资料。
46、http://emr.cs.uiuc.edu/~reingold/calendars.shtml Edward M. Reingold's Calendar Book, Papers, and Code。
47、http://cpp.snippets.org/ --c++源代码档案。
48、http://ubiety.uwaterloo.ca/~tveldhui/papers/techniques/ --用C和C++的解决科学问题。
49、http://c.ittoolbox.com/topics/core-c/ --C/C++的IT工具框。
50、http://www.le.ac.uk/cc/tutorials/c/ccccdbas.html --本文件中包含有大量的C示例程序。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cnsword/archive/2009/05/13/4176636.aspx

posted @ 2010-02-02 18:22 求知者 阅读(72) | 评论 (0)编辑 收藏

     摘要: (转)如何成为伟大的程序员     本文给出了十五个评定软件开发人员的标准,可以帮助程序员朋友从一个好的程序员成为一个优秀的程序员,和大家共飨! &nb...  阅读全文
posted @ 2010-02-02 09:58 求知者 阅读(66) | 评论 (0)编辑 收藏

2010年2月4日 #

     摘要: C语言 条件编译详解      预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。    在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目...  阅读全文
posted @ 2010-02-04 12:11 求知者 阅读(21) | 评论 (0)编辑 收藏

2010年2月3日 #

在电脑屏幕的左下角按“开始→程序→附件→记事本”,把下面的文字复制进去,点“另存为”,路径选“桌面”,保存类型为“所有文件”,文件名为“清除系统LJ.bat”,就完成了。记住后缀名一定要是.bat,ok!你的垃圾清除器就这样制作成功了! 双击它就能很快地清理垃圾文件,大约一分钟不到。
======就是下面的文字(这行不用复制)=============================
@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo 清除系统LJ完成!
echo. & pause
posted @ 2010-02-03 22:50 求知者 阅读(14) | 评论 (0)编辑 收藏

流媒体技术

流媒体的定义

这个过程的一系列相关的包称为流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。

 

流媒体的技术

  一、流式传输的基础

  在网络上传输音/视频等多媒体信息,目前主要有下载流式传输两种方案。A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时,所以这种处理方法延迟也很大流式传输时,声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当声音等时基媒体在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流式传输避免了用户必须等待整个文件全部从Internet上下载才能观看的缺点。

  流媒体实现的关键技术就是流式传输。

  流式传输定义很广泛,现在主要指通过网络传送媒体(如视频音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输progressive streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。采用那种传输方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。

  顺序流式传输

  顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流式传输不象实时流式传输在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被称作HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延迟,对较慢的连接尤其如此。对通过调制解调器发布短片段,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延迟,毕竟可让你发布较高质量的视频片段。顺序流式文件是放在标准HTTP FTP服务器上,易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。

  实时流式传输

  实时流式传输指保证媒体信号带宽与网络连接配匹,使媒体可被实时观看到。实时流与HTTP流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就可不停止,但实际上,可能发生周期暂停。实时流式传输必须配匹连接带宽,这意味着在以调制解调器速度连接时图象质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定服务器,如:QuickTime Streaming ServerRealServerWindows Media Server。这些服务器允许你对媒体发送进行更多级别的控制,因而系统设置、管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如:RTSP (Realtime Streaming Protocol)MMS (Microsoft Media Server)。这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容。

  二、流媒体所涉及的软硬件产品

  1、编码器:它由一台普通计算机、一块microvision 高清视频采集卡和流媒体编码软件组成。Microvision流媒体采集卡负责将音视频信息源输入计算机,供编码软件处理;编码软件负责将流媒体 采集卡传送过来的数字音视频信号压缩成流媒体格式。如果做直播,它还负责实时地将压缩好的流媒体信号上传给流媒体服务器

 

  2、服务器:由流媒体软件系统的服务器部分和一台硬件服务器组成。这部分负责管理、存储、分发编码器传上来的流媒体节目。

  3、终端播放器,也叫解码器: 这部分由流媒体系统的播放软件和一台普通PC组成,用它来播放用户想要收看的流媒体服务器上的视频节目。

  三、 流媒体技术原理

  流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。——流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息而用RTP/UDP来传输实时声音数据。流式传输的过程一般是这样的:用户选择某一流媒体服务后,Web浏览器Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/VHelper程序,使用HTTPWeb服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。

  A/VHelper程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可认为客户程序等同于Helper程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。

  需要说明的是,在流式传输中,使用RTP/UDPRTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/VHelper程序所在客户机的目的地址。实现流式传输一般都需要专用服务器和播放器,其基本原理如图所示。

  四、智能流技术(SureStream

  今天,28.8Kbps调制解调器是Internet连接的基本速率,cable modem ADSLDSSISDN等发展快,内容提供商不得不要么限制发布媒体质量,要么限制连接人数。根据RealNetwork站点统计,对28.8Kbps调制解调器,实际流量为10bps26Kbps,呈钟形分布,高峰在20Kbps。这意味着若内容提供商选择20Kbps固定速率,将有大量用户得不到好质量信号,并可能停止媒体流而引起客户端再次缓冲,直到接收足够数据。一种解决方法是服务器减少发送给客户端的数据而阻止再缓冲,在RealSystem 5.0中,这种方法称为视频流瘦化。这种方法的限制是RealVideo文件为一种数据速率设计,结果可通过抽取内部帧扩展到更低速率,导致质量较低。离原始数据速率越远,质量越差。另一种解决方法是根据不同连接速率创建多个文件,根据用户连接,服务器发送相应文件,这种方法带来制作和管理上的困难,而且,用户连接是动态变化的,服务器也无法实时协调。智能流技术通过两种途径克服带宽协调和流瘦化。首先,确立一个编码框架,允许不同速率的多个流同时编码,合并到同一个文件中;第二,采用一种复杂客户/服务器机制探测带宽变化。

  针对软件、设备和数据传输速度上的差别,用户以不同带宽浏览音视频内容。为满足客户要求,Progressive networks公司编码、记录不同速率下媒体数据,并保存在单一文件中,此文件称为智能流文件,即创建可扩展流式文件。当客户端发出请求,它将其带宽容量传给服务器,媒体服务器根据客户带宽将智能流文件相应部分传送给用户。以此方式,用户可看到最可能的优质传输,制作人员只需要压缩一次,管理员也只需要维护单一文件,而媒体服务器根据所得带宽自动切换。智能流通过描述I现实世界Internet上变化的带宽特点来发送高质量媒体并保证可靠性,并对混合连接环境的内容授权提供了解决方法。流媒体实现方式如下: * 对所有连接速率环境创建一个文件 * 在混合环境下以不同速率传送媒体 * 根据网络变化,无缝切换到其它速率 * 关键帧优先,音频比部分帧数据重要 * 向后兼容老版本RealPlayer

  智能流在RealSystem G2中是对所谓自适应流管理(ASM)API的实现,ASM描述流式数据的类型,辅助智能决策,确定发送那种类型数据包。文件格式和广播插件定义了ASM规则。用最简单的形式分配预定义属性和平均带宽给数据包组。对高级形式,ASM规则允许插件根据网络条件变化改变数据包发送。每个ASM规则可有一定义条件的演示式,如演示式定义客户带宽是5,00015,000Kbps,包损失小于2.5%。如此条件描述了客户当前网络连接,客户就订阅此规则。定义在规则中的属性有助于RealServer有效传送数据包,如网络条件变化,客户就订阅一个不同规则。

  

流媒体播放方式

  1.单播

  客户端媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。每个用户必须分别对媒体服务器发送单独的查询,而媒体服务器必须向每个用户发送所申请的数据包拷贝。这种巨大冗余首先造成服务器沉重的负担,响应需要很长时间,甚至停止播放;管理人员也被迫购买硬件和带宽来保证一定的服务质量。

  2.组播

  IP组播技术构建一种具有组播能力的网络,允许路由器一次将数据包复制到多个通道上。采用组播方式,单台服务器能够对几十万台客户机同时发送连续数据流而无延时。媒体服务器只需要发送一个信息包,而不是多个;所有发出请求的客户端共享同一信息包。信息可以发送到任意地址的客户机,减少网络上传输的信息包的总量。网络利用效率大大提高,成本大为下降。

  3.点播与广播

  点播连接是客户端与服务器之间的主动的连接。在点播连接中,用户通过选择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。点播连接提供了对流的最大控制,但这种方式由于每个客户端各自连接服务器,却会迅速用完网络带宽。

  广播指的是用户被动接收流。在广播过程中,客户端接收流,但不能控制流。例如,用户不能暂停、快进或后退该流。广播方式中数据包的单独一个拷贝将发送给网络上的所有用户。使用单播发送时,需要将数据包复制多个拷贝,以多个点对点的方式分别发送到需要它的那些用户,而使用广播方式发送,数据包的单独一个拷贝将发送给网络上的所有用户,而不管用户是否需要,上述两种传输方式会非常浪费网络带宽。组播吸收了上述两种发送方式的长处,克服了上述两种发送方式的弱点,将数据包的单独一个拷贝发送给需要的那些客户。组播不会复制数据包的多个拷贝传输到网络上,也不会将数据包发送给不需要它的那些客户,保证了网络上多媒体应用占用网络的最小带宽。

流媒体技术应用

  互联网的迅猛发展和普及为流媒体业务发展提供了强大的市场动力,流媒体业务正变得日益流行。流媒体技术广泛用于多媒体新闻发布、在线直播、网络广告电子商务视频点播远程教育远程医疗网络电台、 实时视频会议等互联网信息服务的方方面面。流媒体技术的应用将为网络信息交流带来革命性的变化,对人们的工作和生活将产生深远的影响。

  一个完整的流媒体解决方案应是相关软硬件的完美集成,它大致包括下面几个方面的内容: 内容采集、 视音频捕获和压缩编码、内容编辑、内容存储和播放、应用服务器内容管理发布及用户管理等。

posted @ 2010-02-03 09:24 求知者 阅读(28) | 评论 (0)编辑 收藏

流媒体类系统pplive

 

PPLive简介

 PPLive是一款用于互联网上大规模视频直播的免费共享软件,有别于其他同类软件,PPLive内核采用了独特的ALM多播和内聚算法技术,有效地降低了视频传输对运营商主干网的冲击,减少了出口带宽流量,并能够实现用户越多播放越流畅的特性,有效解决了当前网络视频点播服务的带宽和负载有限问题,使得整体服务质量大大提高。此软件在百度软件风云榜的排名居高不下。TOP50的上榜天数长达近一年时间。

  与传统的网络电视相比,PPLive的优势在于其巨大的技术优势。在网民心目中,以往想在网络上看电视,只能登陆提供网络电视服务的网站,然后通过Realplayer等播放器来播放在线视频,用户一多,画面和声音都会非常的。而PPLive采用的是比较前沿的P2P技术,根据P2P的原理,用户越多,速度反而越快。彻底改变了用户量和网络带宽之间的老大难问题。同时,在同类的网络电视软件中PPLive自主开发的技术也走在了潮流的最前面,PPLive有效的解决了内网穿透问题,开发出目前最领先的穿透内网自动打开UPnP功能技术,并解除WinXPTCP的连接数的限制。还有效的使得PPLive能够方便的穿透防火墙。以上种种都为局域及各种内网用户提供了最大程度上的便利。

  PPLive节目来源多源化,有的是网友自己制作的,有的是合作伙伴内容提供商提供的,有的是广电和电信运营商提供的,内容积极健康,各种用户喜爱的节目在PPLive的平台上都可以找到。良好的节目来源也决定了PPLive并不会涉及到任何版权纠纷。

流行网络电视软件

  风行网络电视:上万部免费的电影、电视剧、动漫、综艺,每日更新,最新最热尽在其中

  PPLive:最流畅的网络视频,体育、新闻、电影、电视、想看就看。

  PPStream:能点播的网络电视。

  QQ网络电视(QQlive):边聊边看的网络电视。

  UUSee网络电视:悠视网研发的网络电视。

  TVUPlayer:很多频道,台湾、英文频道。

  ChinaRadioTV: 网络电视搜索平台 网络电视载体 主体网络电视资源都可以从这里找到。 

  TV360网络电视:强烈推荐给大家,频道最多,内容最广,除了电视直播外还有百家讲坛、走进科学、探索发现等精彩视频!

  Sopcast:极力推荐,尤其是体育迷,当CCTV5没直播,一般网络电视没直播,新传没直播,你会发现在Sopcast上有。(--

  沸点网络电视:沸点网络电视是一款免费、高速的网络电视软件,提供丰富的体育、娱乐、资讯类节目.

  中华网视CCIPTV:CCIPTV网络电视是中国最大的新一代网络电视门户软件,这里拥有众多的国内外网络电台、网络电视频.

  TVants:TVants是一种全新的流媒体播放软件,她的核心技术类似于现在非常流行的BT(BitTorrent) 即一个播放节点同时和数个播放节点交换(提供或索取)数据,使得带宽的占用达到最大化,获得 最佳的播放效果。

  聆讯网络电视:

  聆讯网络电视是一款用于互联网上大规模视频直播的共享免费软件,本软件采用多点下载,网状模型的P2P技术,具有人越多,播放越流畅的特性。

CCTV BoxCCTV官方软件,能浏览中央电视台全频道和部分省市电视台,还有其他的功能,很强大,很流畅。

 

posted @ 2010-02-03 09:23 求知者 阅读(23) | 评论 (0)编辑 收藏

三大P2P软件下载比拼:BT、迅雷和电驴(eMule)

    BT

  BTBitTorrent,比特流,俗称变态)下载是目前最流行最热门的下载方式,也是P2P传输技术的首席代表,BT将文件分成多个部分,用户下载一小部分,再通过BT软件的分布式交叉下载调配,到其他用户那里下载文件的其他部分,每台参加下载的电脑既下载文件,同时也向其他用户提供下载,因此参与下载的用户越多,下载速度越高。 减轻了服务器的硬件和带宽资源消耗

  安全性★★★☆

  BT下载的文件内,发布者捆绑广告、病毒、间谍软件的现象十分常见,BT用户的电脑安全形成重大威胁。经过改进,一般的BT下载软件都有选择要下载文件的内容,用户要养成下载前尽量只选择所需要的文件进行下载的习惯。

  BT协议不会记录和收集用户的下载文件信息,当用户删除下载任务后,文件上传便停止。

  资源丰富度★★★★

  BT下载并不复杂,目前流行的BT下载软件很多,有BT的鼻祖BitTorrent、有BitCometBitSpirit,较新版本的迅雷和FlashGet也都支持BT下载。

  网上的BT种子文件都是由网友制作、发布的,主要以最新最流行的影视、音乐、动漫为主,通过综合性的BT资源网站以及更专业细分的各种论坛,用户可以轻松找到各种较新的下载资源。

  BT的缺点是难以获得较旧的资源种子在数周内便会无效。

  速度★★★★

记者用中国电信的2MADSLBitComet0.99版本下载热门电视剧《恶作剧之吻2》做测试。稳定下载速度为100-130KB/S.

  迅雷

  迅雷满足用户多种方式下载,支持的协议下载包括FTPMMSBT和电驴,最大程度上满足了中国互联网用户的需求。其基于独创P2SP技术,能够将网络上存在的服务器和计算机资源进行有效的整合,构成独特的迅雷网络,通过迅雷网络各种数据文件能够以最快的速度进行传递,并号称拥有比其他下载软件快7-10倍的下载速度。

  安全性★★☆☆

  对个人用户来说,迅雷集合BT和电驴在安全性的缺点。既有BT资源捆绑广告、病毒、间谍软件的问题,也有电驴记录和收集用户下载信息、自动共享下载目录文件夹中文件的行为。

  资源丰富度★★★★

  在这一方面,迅雷支持BT和电驴下载协议,令其在资源广泛度方面相当丰富,但实际使用中,迅雷对较冷门的资源支持性一般,难达到电驴的高度。

  速度★★★★

  迅雷独特的P2SP技术令其在下载速度上领先于其他的P2P软件,热门的电视剧《恶作剧之吻213集的BT文件在迅雷上获得了180-200KB/S的稳定下载速度,几乎达到了记者使用的宽带资源的极限,速度优势相当明显。

  eMule电驴

  电驴的工作原理与BT略有不同,用户下载文件时不需要种子文件,只要一个edzk的链接就可以,当用户在搜索列表中选取了所需的文件并开始下载后,电驴会记录下这个文件的大小、文件名以及另一个叫做hash的文件信息。电驴软件得到了这个信息后,会向所有添加的服务器发出请求,要求得到有相同hash值的文件,而服务器则返回持有这个文件的用户信息,用户客户端就可以直接和拥有那个文件的用户沟通和下载所需的文件。

  安全性★★★☆

  通过电驴下载的文件基本是单个文件,经过服务器其他用户筛选后再共享,较少出现捆绑广告、病毒。

  但电驴存在一定的安全隐患,一旦用户打开电驴,只要软件指定的两个文件夹(一个是放置下载完成后的文件,一个是放置未完成的文件)里面有文件,如果同时有其他用户需要这个文件,那么软件便会上传。用户首先要设定电驴文件夹设置,不要把不愿意分享的文件放在这两个文件夹内。

  资源丰富度★★★★

  从资源丰富度上来说,电驴是P2P软件中的佼佼者,除了影视和音乐资源,各种的动漫、游戏、软件以及电子书籍等资源,都可以在电驴的门户网站和电驴客户端的搜索窗口搜索到。甚至是很偏门的旧音乐、旧电影也可从其他电驴用户的电脑中获得,这也是电驴最被网民推崇的地方。

  速度★☆☆☆

  下载速度是电驴的软肋,热门的资源一般能达到100KB/S的下载速度,冷门的资源和旧的资源往往只有10KB/S的下载速度。记者同样以《恶作剧之吻2》做下载速度测试,电驴稳定的下载速度为30-60KB/S.

 

 

posted @ 2010-02-03 09:22 求知者 阅读(21) | 评论 (0)编辑 收藏

文件共享系统:BitTorrent

历史

2002年首推,BT软件BitTorrent,以Python写成

原理概述

BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层

  根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torrent文件,即种子文件,也简称为种子.torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。Tracker信息主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以,.torrent文件就是被下载文件的索引

  下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。

  下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器Tracker服务器回应下载者的请求,提供下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别告知对方自己已经有的块,然后交换对方没有的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担

校验)下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。

HTTP/FTP下载的比较

  一般的HTTP/FTP下载,发布文件仅在某个或某几个服务器,下载的人太多,服务器的带宽很易不胜负荷,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,种子也会越来越多,下载速度就越快

  

技术框架

发布内容

对等发布

流水作业

片断选择

1.          严格的优先级

2.          最少的优先

3.          随机的第一个片断

4.          最后阶段模式

BT软件

  BT Plus!

  BitBuddy

  BitComet

  BitTornado

  Azureus

  比特精灵

  BitTorrent

  迅雷

  Flashget >1.96

  uTorrent

  电驴(eMule)

  脱兔

 

 

posted @ 2010-02-03 09:22 求知者 阅读(29) | 评论 (0)编辑 收藏

 

 

P2P基本概念zt笔记)

p2p网络的定义

P2P(peer to peer),即对等计算或对等网络,通常简称为P2P.可以简单地定义为:通过直接交换,共享计算机资源和服务。

peer to peer,英文理解为,端对端,或称为,对等联网。

p2p网络的结构

集中式p2p网络

分布式p2p网络(包括非结构化p2p网络和结构化p2p网络)

混合式p2p网络

p2p网络与C/S网络的对比

p2p对等网不易管理,难于保证安全性。

C/S网完全依赖于中心服务器,p2p网每个节点都是服务器或客户端

p2p对等网资源利用率高。

p2p网络的应用

1)         对等计算

2)         协同工作

3)         搜索引擎

4)         文件共享

p2p软件

  eMule eMule 是以 eDonkey2000 网络为基础的新型 P2P 文件分享工具。

  OPENEXT 一款P2P软件。通过它,Internet用户之间可以直接建立点对点的连接。

  迅雷Thunder 一款智能下载软件——迅雷(thunder)。迅雷它拥有比目前用户常用的下载软件快数倍的下载速度。

  易载ezpeer 易载ezPeer简体中文版,免费注册使用!ezPeer 是一个革命性的P2P(点对点)文件共享软件。

  Kuro M3 Kuro-全球第一款全中文界面的MP3抓歌软件!

  酷狗(KuGoo) KuGoo是酷狗的简称,是基于中文平台专业的P2P音乐及文件传输软件。通过KuGoo,用户可以方便、快捷、安全地实现国内最大的音乐搜索查找。

  APIA APIA 是一个正在发展中的 P2P 网络系统,如同目前熟知的 eDonkeyGnutella Kazaa 等软件。

  iMesh 能够让你设定分享文件的类型,音乐、影片或其他文件;也能够让你搜寻并且下载你想要的文件。

  BearShare 是一个非常好的文件分享软件,它让你、你的朋友、在世界上的每一个人都可以分享文件。

国外研究

IRIS计划:分布式数据存储系统;

斯坦福大学的研究:p2p系统的搜索,资源分配和聚集

国内研究

北大:Maze分享系统

清华:Granary对等计算存储系统

华科:Anysee视频点播系统

市场上:POCOPPLIVeEzpeer,kuro,KUGOO.

 

国内p2p研究网站

  艾瑞p2p

  http://video.iresearch.cn/45/

  无线p2p

  http://www.mobile-p2p.cn/

  p2p研究园地

  http://grid.hust.edu.cn/p2p/

  p4pp2p

  http://p4pcn.blog.sohu.com

 

posted @ 2010-02-03 09:21 求知者 阅读(35) | 评论 (0)编辑 收藏

C++复合类型总结

 

数组、结构和指针式c++3种复合类型。

数组,可以在一个数据对象中存储多个同种类型的值。通过使用索引或下标,可以访问数组中的各个元素。

结构,可以将多个不同类型的值存储在同一个数据对象中,可以使用成员关系操作符(.来访问其中的成员。使用结构的第一步是创建结构模板,它定义了结构存储了哪些成员。模板的名称将成为新类型的标识符,然后就可以声明这种类型的结构变量。

共用体,可以存储一个值,但是这个值可以是不同的类型,成员名指出了使用的模式。

指针,是被设计用来存储地址的变量的。我们说,指针指向它存储的地址。指针声明指出了指针指向的对象的类型。对指针应用解除引用操作符,将得到指针指向的位置中的值

字符串,是以空字符为结尾的一系列字符。字符串可用引号括起来的字符串常量表示,其中隐式包含了结构的空字符。可以将字符串存储在char数组中,可以用被初始化为指向字符串的 char指针表示字符串。函数strlen()返回字符串的长度,其中不包括空字符。函数strcpy()将字符串从一个位置复制到另一个位置。在使用这些函数时,应包含头文件cstringstring.h.

头文件string支持 C++string类提供了另一种对用户更为友好的字符串处理方法。具体地说,string对象将根据要存储的字符串自动调整其大小,用户可以使用赋值操作符来复制字符串。

New操作符允许在程序运行时为数据对象请求内存。该操作符返回其内存的地址,可以将这个地址赋给一个指针,程序将只能使用该指针来访问内存。如果数据对象是简单变量,则可以使用解除引用操作符(*)来获得其值;如果数据对象是数组,则可以像使用数组名那样来使用指针来访问元素;如果数据对象是结构,则可以用指针解除引用操作符(->) 来访问其成员。

指针和数组紧密相关。如果ar是数组名,则表达式ar[i]被解释为*(ar+i),其中数组名被解释为数组第一个元素的地址。这样,数组名的作用和指针相同。反过来,可以使用数组表示法,通过指针名来访问new分配的数组中的元素。

操作符newdelete  允许显式控制何时给数据对象分配内存,何时将内存归给内存池。自动变量是在函数中声明的变量,而静态变量时在函数外部或者使用关键字static声明的变量,这两种变量都不太灵活。自动变量在程序执行到其所属的代码块(通常是函数定义)时产生,在离开该代码块时终止。静态变量在整个程序周期内部都存在。

 

posted @ 2010-02-03 09:19 求知者 阅读(26) | 评论 (0)编辑 收藏

C++ 循环和关系表达式总结

 

C++提供了3种循环:for循环、while 循环、do while循环。如果循环测试条件为true或非零,则循环将重复执行相同的一组指令;如果测试条件为 false0.则结束循环。For循环和while循环都是入口条件循环,这意味着程序将在执行循环体中的语句之前检查测试条件。Do while 循环是出口条件循环,这意味着其将循环体中的语句之后检查条件。

每种循环的语句都要求循环体由一条语句组成。不过,这条语句可以是复合语句,也可以是语句块。

关系表达式对两个值进行比较,常被用作循环测试条件。关系表达式是通过使用六种关系操作符之一构成的:<<= == !=>=< 关系表达式的结果为bool类型,值为truefalse

许多程序都逐字节地读取文本输入或文本文件,istream类提供了多种可完成这种工作的方法。如果ch是一个char变量,则下面的 语句

 Cin  >> ch;将输入中的下一个字符读入到ch中。不过,它将忽略空格、换行符和制表符。下面的成员函数调用:

 Cin.get(ch)将读取输入中的下一个字符,而不管该字符是什么,将其存储到ch中。成员函数调用cin.get()返回下一个输入字符,也包括空格、换行符和制表符,因此可以这样使用它:

Ch=cin.get();

Cin.get(char)成员函数调用通过返回转换为FALSEBool值来指出已经达到EOF,而cin.get()成员函数调用则通过返回EOF值支出已经达到EOFEOF是在文件iostream中定义的。

嵌套循环是循环中的循环,适合用于处理二维数组、

posted @ 2010-02-03 09:17 求知者 阅读(21) | 评论 (0)编辑 收藏

     摘要:                      ado.net详细研究 —— DataReader 这次我们详细研究DataReader。我个人最喜欢的就是DataReader,虽然它不如DataSet强...  阅读全文
posted @ 2010-02-03 09:13 求知者 阅读(43) | 评论 (0)编辑 收藏