前 言
当你正在用QQ尽情地聊天时,当你用酷狗欣赏着美妙的音乐时,当你用迅雷神速地下载一部高清电影时……你是否意识到你正在享受着P2P带来的快感与兴奋?
为什么要写作这本书?
对等网络(P2P)被美国《财富》杂志称为改变因特网发展的四大新技术之一。P2P技术不仅为人们提供了前所未有的自由和便利,同时也有效地整合了互联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络。及早关注、跟踪、学习、研究这一技术的发展,才有可能较为从容地面对它所带来的冲击。同时,伴随着P2P技术在商业应用中的发展,它所展示出来的巨大商业潜力和价值也是不可估量的。掌握了P2P技术,也就掌握了这一领域的致胜之道和创造财富之道。
P2P技术方兴未艾,各种基于P2P技术的应用风起云涌。在当前网络发展的大潮中,P2P技术以其优异的特性和一种对等共享的思想在互联网发展中扮演了非常重要的角色。真正的P2P应用程序能够让具有创新意识的小团队开发出能与大公司相抗衡的软件和业务;真正的 P2P 技术应用于成熟市场后,将会是一种颠覆性的技术,其能量不可估量。
目前专门论述P2P技术原理和实践的图书非常少。本书便是基于这种背景而编写的。希望本书能成为广大迫切希望学习和研究P2P技术和应用的读者的良师益友,将一个全面、详尽、清晰、透彻的P2P技术完整地展现给读者,并指导读者进行P2P应用实践。
学习P2P技术,不仅要学习它的基本理论与技术,更要理解它的原理,掌握它的应用。本书从P2P的基础理论、技术应用和实践开发三个方面进行讲解,力求通俗易懂,深入浅出,把道理讲明白,把技术说透彻,把实践描述完整,给读者展示一个清晰的P2P技术世界。本书将P2P的理论与实际应用紧密结合起来,透析P2P的原理和机制,让BT、eMule、Skype等看似神秘的东西不再神秘,让你也可以近距离地看清它的本质,甚至可以自己去实现。另外,本书的实践环节提供了大量实用、典型的热门应用案例引导读学习和实践,提高P2P的应用开发水平。希望在本书的指引下,让你拓展视野,思考P2P对互联网的影响,发现P2P的力量和潜在的价值。
本书有何特色?
本书重点突出,主次分明,对学习过程中容易出现的疑点和难点进行了详细说明。选择的实例和案例力求以解决实际问题为导向,以项目实践为目的,对读者理解P2P技术和应用开发有很大的帮助。全书讲解方式简单直接,从基础理论到基本应用,再到项目实践,由浅入深,循序渐进,力求让读者全面掌握P2P技术的整个知识体系。下面具体介绍一下本书的主要特色。
1. 配大量多媒体教学视频,高效、直观
作者专门为本书录制了大量多媒体教学视频,便于读者高效、直观地学习。这些视频连同本书涉及的源代码一起收录于本书的配书光盘中。
2. 内容全面、系统,知识要点丰富
本书不是针对P2P的某一技术点,而是对P2P技术要素、基本原理、应用等方面进行全面、系统的讲解,力求把P2P的整个技术体系展现给读者。例如,讲解P2P技术基础与原理的同时,还讲解了NAT、流媒体、即时通信等技术,并对P2P应用开发中涉及的Java、Linux和Eclipse等技术也进行了必要讲解,便于读者系统地理解P2P的技术体系和应用 开发。
3. 难易适中、读者定位准确
本书主要针对P2P初学者,写作时从入门者的角度重点讲解P2P的基础知识体系,让读者在应用的基础上理解内在的技术原理。而对于一些复杂的深度理论本书不涉及或者较少涉及。
4. 理论结合实践,重在应用
本书不是一味地讲技术,也不是一味地讲实践。而是理论结合实践,将理论知识及技术原理渗透到应用案例中,便于读者更好地理解P2P应用开发。
5. 与市场需求相结合,实用价值高
本书所讲解的应用技术都是当前应用广泛、非常热门的技术,如NAT、BT、eMule、Skype、流媒体等。它们不仅是一种技术,更是一种盈利的商业平台,有很高的实用价值,拥有巨大的市场潜力。学习了这些技术,对工作、学习及就业都将有很高的价值。
6. 案例丰富、典型
提供了Skype开发包及插件开发、即时通信系统开发、BT系统分析及客户端开发三个典型案例,便于读者深入理解基于P2P技术开发的基本原理、基本方法、编程技巧及完整的实现过程。
本书内容及知识体系
第1篇 基础理论篇(第1~4章)
本篇主要介绍了P2P的基本概念和技术等基础理论。主要内容包括:P2P概述、P2P的网络拓扑结构、P2P网络的搜索技术、P2P的关键技术及应用。
第2篇 技术应用篇(第5~9章)
本篇内容是P2P技术的精髓所在,主要介绍了P2P技术在互联网和生活中的典型应用。主要内容包括:P2P网络中的NAT穿透技术、基于P2P的BT技术解析、基于P2P的eMule文件共享技术、基于P2P的Skype即时通信技术、基于P2P的流媒体技术。
第3篇 实践开发篇(第10~14章)
本篇以典型案例的形式讲解P2P应用系统的开发方法,真正解决如何进行P2P开发的问题。主要内容包括:基于Java的P2P开发平台搭建、Skype的开发包及插件开发技术、基于P2P的即时通信系统的开发与实现、BT系统分析及客户端开发、JXTA技术概述。
配书光盘内容介绍
为了便于读者使用本书,本书附带1张DVD光盘。内容如下:
* 本书多媒体语音教学视频;
* 本书所涉及的实例和项目案例的源代码;
* 本书实例与项目案例开发及运行所需的开发包;
* 免费赠送的大量Java教学视频及其他学习资料。
本书读者对象
* 没有任何基础的P2P技术初学者;
* 有一定基础,想进一步系统学习P2P技术的人员;
* 从事P2P应用开发的人员;
* 网络视频、网络电话、多线程下载等网络软件开发人员;
* 大中专院校相关专业的学生和老师;
* 相关培训班的学员。
本书阅读建议
* 没有网络基础的读者,先学习一下计算机网络方面的基础知识,了解一下网络的基础结构后再学习本书内容;
* 入门读者建议从本书第1章开始按章节顺次阅读,效果更好;
* 有P2P技术基础的读者,可以根据实际情况有重点地选择阅读;
* 对于书中的实例和案例,读者可以先自己思考一下如何实现,然后再阅读相关 内容,并结合本书多媒体教学视频和源代码,亲自动手实现一次,理解会更加 深刻。
本书作者及编委会成员
本书由管磊主笔编写。其他参与编写和资料整理的人员有武冬、郅晓娜、孙美芹、卫丽行、尹翠翠、蔡继文、陈晓宇、迟剑、邓薇、郭利魁、金贞姬、李敬才、李萍、刘敬、陈慧、刘艳飞、吕博、全哲、佘勇、宋学江、王浩、王康、王楠、杨宗芳、张严虎、周玉、张平、张靖波、周芳、杨罡、于海滨、张晶杰、张利峰、杨景凤、陈锴、郑剑锋、叶佩思、张涛、赵东彪、王双。在此一并表示感谢!
本书编委会成员有欧振旭、陈杰、陈冠军、顼宇峰、张帆、陈刚、程彩红、毛红娟、聂庆亮、王志娟、武文娟、颜盟盟、姚志娟、尹继平、张昆、张薛。
编著者
??
??
??
??
前言
前言
·II·
·III·