新書推薦:
《
半导体纳米器件:物理、技术和应用
》
售價:NT$
806.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:NT$
281.0
《
佛山华家班粤菜传承 华家班59位大厨 102道粤菜 图文并茂 菜式制作视频 粤菜故事技法 佛山传统文化 广东科技
》
售價:NT$
1010.0
《
武人琴音(十周年纪念版 逝去的武林系列收官之作 形意拳一门三代:尚云祥、韩伯言、韩瑜的人生故事 凸显百年武人命运)
》
售價:NT$
199.0
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
704.0
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:NT$
301.0
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:NT$
1010.0
《
可转债投资实战
》
售價:NT$
454.0
|
編輯推薦: |
1.以应用为导向,以网络编程方法为核心,着重从实践层面实施案例教学,边理论边实践。2.每节内容均有微课视频教程,扫描书中二维码即可观看。3.配套教学资源齐全,源程序、实验报告、教学课件等电子资源可从清华大学出版社网站下载。
|
內容簡介: |
本书围绕Java网络编程的关键技术和共性技术展开介绍,全书共分15章,每一章都以案例的设计与应用为主线,理论与实践结合。每一个案例都是经过精心挑选的经典应用。这些案例以桌面网络编程为起点,实现了从桌面网络编程到Web网络编程再到Android网络编程的三级跨越,极具应用价值。各部分内容衔接紧密,贴近实战,层层推进,相互呼应,体现了网络编程的大局观。 本书内容丰富,实用性强,教学资源系统全面,每一节都有与之对应的微课视频教程,与教材完全同步,读者扫描二维码即可在线观看。 本书既可作为高等院校信息技术类专业教材,也可供社会各界的信息技术人员学习参考。
|
目錄:
|
目录
第1章概述
1.1网络编程简介
1.2练习文件
1.3开发工具准备
1.4Java IO流
1.5Java Socket
1.6Java线程
1.7客户机服务器一对一通信模型
1.8服务器程序
1.9客户机程序
1.10小结
1.11实验1: 探索网络编程世界
1.12习题1
第2章一客户一线程
2.1作品演示
2.2本章重点知识介绍
2.3客户机界面设计
2.4服务器界面设计
2.5客户机连接服务器
2.6客户机发送消息
2.7服务器启动线程及连接线程
2.8客户机会话线程
2.9小结
2.10实验2: 用SwingWorker改写线程
2.11习题2
第3章线程池
3.1作品演示
3.2本章重点知识介绍
3.3客户机界面设计
3.4服务器界面设计
3.5自定义协议类
3.6启动服务器
3.7连接线程
3.8关闭线程池
3.9客户线程
3.10客户机连接服务器
3.11客户机发送消息
3.12小结
3.13实验3: 线程池与一客户一线程
3.14习题3
第4章非阻塞IO
4.1作品演示
4.2本章重点知识介绍
4.3客户机界面设计
4.4服务器界面设计
4.5服务器自定义协议类
4.6启动服务器
4.7服务器轮询线程
4.8服务器处理连接
4.9服务器读写数据
4.10客户机连接服务器
4.11客户机出拳逻辑
4.12小结
4.13实验4: 非阻塞IO实验拓展
4.14习题4
第5章UDP协议通信
5.1作品演示
5.2本章重点知识介绍
5.3客户机登录界面
5.4客户机会话界面
5.5服务器界面
5.6消息类与转换类
5.7消息协议设计
5.8客户机登录逻辑
5.9客户机发送消息
5.10客户机离开逻辑
5.11客户机自动接收消息
5.12启动服务器
5.13服务器处理消息线程
5.14小结
5.15实验5: QQ聊天项目拓展
5.16习题5
第6章TCP协议传输文件
6.1作品演示
6.2本章重点知识介绍
6.3工具栏、弹出菜单和进度条
6.4选择文件
6.5文件发送线程
6.6服务器处理连接线程
6.7服务器接收文件线程
6.8小结
6.9实验6: 端口扫描器
6.10习题6
第7章SSL安全通信
7.1作品演示
7.2本章重点知识介绍
7.3用keytool生成公钥私钥
7.4创建QQDB数据库
7.5数据库操作类
7.6密钥算法类
7.7数据库测试与数据准备
7.8完成安全登录设计
7.9发送文件与数字签名线程
7.10服务器处理连接线程
7.11接收文件与验证签名线程
7.12小结
7.13实验7: 安全登录与安全注册
7.14习题7
第8章网络抓包与协议分析
8.1作品演示
8.2本章重点知识介绍
8.3创建项目框架
8.4用户界面设计
8.5捕获网络数据包
8.6包过滤器
8.7自定义显示类
8.8文件操作
8.9主程序逻辑设计
8.10小结
8.11实验8: WireShark与Sniffer
8.12习题8
第9章Java邮件客户端
9.1作品演示
9.2本章重点知识介绍
9.3SMTP协议概述与体验
9.4POP3协议概述与体验
9.5IMAP协议概述
9.6JavaMail概述
9.7客户端登录界面设计
9.8客户端主界面设计
9.9客户端邮件编辑界面设计
9.10邮件发送功能
9.11邮件接收类
9.12邮件的解析与显示
9.13小结
9.14实验9: 邮件客户端拓展
9.15习题9
第10章Java WebSocket
10.1作品演示
10.2本章重点知识介绍
10.3开发准备
10.4熟悉WebSocket
10.5编写基础类
10.6实现对数据库的操作
10.7JSON格式转换
10.8实现注册功能
10.9实现登录与退出功能
10.10编写聊天页面
10.11实现收发信息与保存聊天记录
10.12实现服务器群聊功能
10.13小结
10.14实验10: 实现私聊功能
10.15习题10
第11章Nodejs和Socket.IO实现在线客服
11.1作品演示
11.2本章重点知识介绍
11.3搭建简单的Web服务器
11.4应用Backbonejs完成登录注册界面
11.5初识MongoDB
11.6连接MongoDB完成登录注册
11.7完成聊天室基本界面
11.8实现文本聊天功能
11.9发送可爱表情
11.10完成语音通话
11.11小结
11.12实验11: 存储聊天记录
11.13习题11
第12章网络爬虫
12.1作品演示
12.2本章重点知识介绍
12.3简单的网页抓取实例
12.4处理HTTP状态码
12.5分析目标页面参数
12.6GET方法传递请求参数
12.7POST方法传递请求参数
12.8获取SSL加密页面
12.9获取异步请求数据
12.10处理HTML文本
12.11处理JSON文本
12.12信息数据的汇总处理
12.13小结
12.14实验12: 网络爬虫实验拓展
12.15习题12
第13章Android QQ客户端
13.1作品演示
13.2本章重点知识介绍
13.3新建QQClient项目
13.4用户类User
13.5用户适配器类UserItemAdapter
13.6消息适配器类MessageItemAdapter
13.7登录类LoginActivity及其布局
13.8注册类RegisterActivity及其布局
13.9用户列表类ListActivity及其布局
13.10聊天类ChatActivity及其布局
13.11全局配置文件AndroidManifest.xml
13.12服务器的变化
13.13小结
13.14实验13: Android QQ实验拓展
13.15习题13
第14章Android新闻客户端
14.1作品演示
14.2本章重点知识介绍
14.3编写新闻客户端主界面
14.4编写新闻导航栏
14.5编写新闻标题布局
14.6本地新闻加载示例
14.7使用Volley加载聚合数据
14.8NetNewsAdapter优化
14.9小结
14.10实验14: OkHttp框架
14.11习题14
第15章Android企业即时通信系统
15.1作品演示
15.2本章重点知识介绍
15.3搭建开发环境
15.4初始源代码
15.5连接服务器实现注册功能
15.6登录和退出功能
15.7获取好友并填充列表
15.8发送文本消息
15.9接收文本消息
15.10添加和删除好友
15.11分享位置之百度定位
15.12分享位置之标记地图
15.13小结
15.14实验15: 拓展系统功能
15.15习题15
参考文献
|
內容試閱:
|
前言
当今时代,工业4.0,互联网 ,万网互联,万物互联,哪里有网络,哪里就有网络编程。网络程序是主宰网络世界的神经系统,是超级大脑。学习网络编程,有助于更好地学习网络、利用网络和改造网络。
当笼统地说起云计算、大数据、互联网 时,常常有老虎吃天不知从哪儿下口的困惑。而网络编程被普遍认为是一门胶水课程,能够有效融合计算机网络、程序设计、数据库技术等众多课程的知识,对于提升学生的实践创新能力极其重要。由此可见,网络编程正是老虎可以下口之处。
本书是作者在网络编程教学领域多年的经验总结,具有鲜明的创新特色: 全书以应用为导向,以网络编程方法为核心,着重从实践层面实施案例教学,理论与实践结合; 每章各实现一个案例,循序渐进,贴近实战; 案例范围覆盖桌面网络编程、Web网络编程、Android网络编程三个层次; 每个案例解决一个不同的问题,案例汇聚在一起勾勒出网络编程大局观的画卷。
全书共分15章。第1章概述网络编程基本理论与方法。第2章以Echo项目为例讲解服务器的一客户一线程技术。第3章以Knock Knock游戏为例讲解自定义协议机制以及服务器的线程池技术。第4章以石头、剪刀、布游戏为例,讲解服务器非阻塞IO通道技术。第5章内容拓展到UDP协议通信领域,讲解UDP客户机服务器技术、UDP广播技术,实现QQ客户端服务器的初级设计。第6章讲解文件传输技术,将TCP传输文件模块有机融合到QQ聊天项目中。第7章讲解SSL安全通信技术,涉及哈希摘要、加密解密、公钥私钥和安全套接字技术等,用SSL相关安全技术实现文件的数字签名,综合数据库技术和SSL技术,实现用户的安全注册与安全登录设计。第8章讲解网络抓包程序和协议分析程序的设计,为网络创新夯实理论基础和实践基础。总之,前面8章内容都是基于桌面网络编程的,以Java Socket技术为核心。
第9章内容拓展到Java邮件客户端,基于JavaMail实现邮件收发客户端,引领读者了解邮件系统运行的奥秘。第10章基于Java WebSocket实现Web聊天室的设计,用js技术保存聊天记录,将Java网络编程能力拓展到Web领域。第11章基于Nodejs Socket.IO技术实现Web客服系统设计,尽管Nodejs不属于Java网络编程范畴,但是Nodejs的WebSocket技术与Java的WebSocket技术有异曲同工之妙。第12章揭示网络海量信息智能抓取原理,以获取ACM大赛训练信息为例讲解网络爬虫的编程方法。第9~12章将网络编程拓展到Web层面,实现了基于Web的经典应用,以Web通信和数据库技术为核心。
第13章是在前面桌面版QQ和服务器的基础上,实现Android版的QQ客户端,揭示了Java网络编程在桌面系统和Android系统的技术一致性。第14章以HttpURLConnection技术为基础,带领读者领略HTTP协议通信的精彩。本章运用Volley、OkHttp开源框架,借助聚合数据的开源API获取新闻数据,实现了功能丰富的Android新闻客户端项目设计。第15章基于Openfire开源服务器、MySQL数据库、百度地图SDK、XMPP协议实现了一个企业级即时通信协作系统。第13~15章将网络编程从桌面、Web进一步拓展到Android领域,引领读者完成三个层次APP的案例学习。
本教程建议学时分配如下: 第1~6章、第9~11章每章四学时,第7~8章、第12~15章每章六学时,合计72学时。
本书每章均有大量的习题供读者巩固所学内容,其中有不少习题是拓展习题,通过练习此类习题,可拓宽读者的视野。
为便于读者学习,本书每一章每一节都录制了教学视频,读者扫描每一节的二维码,可以用慕课方式与教材同步在线学习。本书所有与教材同步的案例源程序以及教学课件等电子资源,均可从清华大学出版社网站免费下载。
全书编写分工如下: 董相志编写了第1~8章和第13章,并负责全书的统稿与定稿工作。唐玉凯编写了第9章,张岳强编写了第10章,刘学刚编写了第11章,逯其鲁编写了第12章,贾金公编写了第14章,郭峰编写了第15章。唐玉凯、张岳强、刘学刚、逯其鲁、贾金公、郭峰六位作者排名不分先后,并列为本书第二作者。每一章习题后面留有该章作者邮箱,欢迎广大读者来信切磋交流。
读者可能会对本书的作者阵容感到好奇,关于这些青年才俊的老师,这里对他们做个郑重推介: 唐玉凯、张岳强、刘学刚、逯其鲁、贾金公、郭峰六位都是鲁东大学2014级软件工程专业的学生。六位同学完成本书时,仍然是大三在读,恰同学少年,风华正茂,书生意气,其作品亦挥斥方遒。
总之,本书每一章都是经典应用,都有精彩讲述,都有理论与实践结合的逻辑推演。理论从实践中来,再回到实践中去。读者跟着每一章的作者去完成每一章的学习,就会有会当凌绝顶,一览众山小的感受。
本书创作过程中参阅了大量文献,借鉴了众多优秀创意,推陈出新,方有此书,在此谨向各文献的作者表示诚挚的感谢和崇高的敬意。
本书有幸得到了清华大学出版社黄芝老师的精心策划,并特别感谢黄芝老师匠心独运设计了微课模式,感谢所有编辑老师的严谨审校和精心编排,感谢清华大学出版社让本书以优雅的外表与广大读者见面。
感谢读者对本书的支持与厚爱,愿本书与读者一起成长。书中难免有疏漏之处,欢迎广大读者批评指正,作者信箱: upsunny2008@163.com。
本书以读者为中心,以作品创见未来,本书品格,有诗为证:
网络编程甲天下,
师生携手共登攀。
作品数度生奇志,
洪荒神力冲云天。
逻辑推演千百遍,
快马加鞭不下鞍。
教学相长乐无涯,
实践国里有新篇。
董相志于鲁东大学
2017年3月
|
|