首页>参考读物>计算机科学与技术>软件与程序设计

Visual C++网络通信编程技术详解
作者 : 代勇 李伟 杨宏帅 等编著
出版日期 : 2011-04-20
ISBN : 978-7-111-33457-6
定价 : 55.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 393
开本 : 16
原书名 : Visual C++网络通信编程技术大全
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书主要内容包括18章:TCP/IP协议模型与基础知识、Windows网络编程基础、IP配置信息管理程序设计、ARP表管理程序设计、基于Winsock的客户机服务器开发技术、路由管理程序设计、网络活动监视和端口扫描、TCP穿越NAT的P2P通信技术、即时通讯与TCP/IP超级终端、FTP协议、HTTP协议、Telnet协议、SMTP和POP3协议、网络安全与防火墙分析设计、串口通信程序设计等。

图书特色

本书讲解和展示了Visual C++集成环境下网络编程技术的基本原理和应用方法,并通过案例形式向读者介绍了来自工程实践的经验。

● TCP/IP协议基本内容
● 网络通信基本概念、WinInet网络编程基础与基本应用
● 局域网中ARP协议的工作原理
● 基于Winsock的客户/服务器程序的开发方法
● TCP/IP端口扫描方法与应用
● 应用NAT穿越技术来实现P2P的TCP流通信
● 即时通信程序实现方法与超级终端应用
● FTP工作原理及如何开发FTP服务端和客户端程序
● 网络防火墙工作原理及如何利用Filter-Hook Driver实现网络防火墙
● HTTP协议基本内容与应用
● Telnet协议基本内容与应用
● SMTP模型基本内容与电子邮件的接收和发送技术
● 利用PC机串口进行串行通信时的基本原理与应用
● ……

● 网络测试工具ping命令和网络配置查看工具ipconfig命令的使用
● 网卡MAC地址的获取方法
● 利用MFC中的CSocket类通过网络传输文件
● 利用ICMP协议实现路由跟踪
● 处于两个不同局域网的客户机进行P2P通信的“打洞”技术实现
● 网络即时通信程序设计与实现
● FTP服务器端与客户端程序设计与实现
● 利用HTTP协议实现文件下载的功能
● Telnet客户端程序设计与实现
● 电子邮件发送与接收的程序设计与实现
● 利用ICMP数据报突破网关的限制,实现ICMP转发数据报
● 获取远程MAC地址的方法
● 串口通信程序设计

图书前言

网络编程技术是指利用Windows系统所提供的各类网络操作函数以及流行的网络协议,如TCP/IP、FTP、HTTP、Telnet等实现网络程序功能的基本原理和方法。目前,网络编程技术已在互联网技术应用、网络信息传输、网络信息安全、网络电子商务、网络管理信息系统等诸多领域得到非常广泛的应用。
  网络编程技术的研究和应用离不开程序设计,Visual C++则是最有力、最常用的网络程序开发工具之一。本书全面地介绍了在Visual C++环境下进行网络程序设计的方法,内容涵盖了Windows网络编程技术的理论基础和常用网络协议的Visual C++应用技术,各种协议与方法在本书中均给出了基本原理、典型实例及其完整的Visual C++源码,读者在理解了代码功能之后可以参考使用本书中提供的代码,进行修改、增加功能来组合成各种功能强大的网络应用程序。
  在学习完本书之后,相信读者能够掌握Visual C++环境下的网络编程技术,并可以进行网络程序实际项目设计开发工作。
本书特点
  本书主要有以下特点。
1循序渐进,由浅入深
  为了更好地吸引读者的注意力,激发读者的学习兴趣,本书首先介绍日常生活中最为常用的TCP/IP协议模型,然后介绍Windows网络编程基础和网络基本应用,在后续章节中结合具体的程序实例,逐步介绍流行的网络协议,如TCP/IP、FTP、HTTP、Telnet等实现网络程序功能的基本原理和方法。
2技术全面,内容充实
  在保证实用的前提下,本书详细介绍了网络编程技术各个方面的知识。同时,结合程序实例介绍了应用网络编程技术进行网络程序开发的相关知识,各类网络基本功能应用、网络信息安全技术、电子邮件技术、黑客攻击网络的方法等都可以从本书中找到相关的知识介绍。
3分析原理,步骤清晰
掌握一门技术首先需要理解原理,本书注意把握各个知识点的原理,总结实现的思路和步骤。读者可以根据具体步骤实现书中的例子,将理论知识与实践相结合,这样更利于学习。
4代码完整,讲解详尽
  本书中的每个知识点都有相应的实例代码,并对关键的代码部分进行了注释说明。每段代码的后面都有详细的分析,并给出了代码运行后的结果。读者可以参照运行结果阅读源程序,以便于加深理解。
5结合应用,注重实践
  本书提供了大量综合应用实例,结合程序实例详细介绍了网络应用程序的开发过程。每章最后还配有“实践拓展”部分,介绍最新的网络编程技术应用知识,拓展读者视野,提高读者的实际应用能力。
主要内容
  本书共18章,各章的主要内容如下。
  第1章:首先介绍了OSI参考模型的层次结构、层次结构划分的原则和各层次之间的数据封装关系,然后介绍了目前应用的TCP/IP协议的基本构成和主要内容。
  第2章:详细介绍了网络通信中涉及的基本概念,如IP地址和子网掩码等。结合在TCP/IP协议栈中自上而下的数据封装过程,对数据包的层次关系、封装过程和拆包过程进行了详细阐述,对传输层中的TCP和UDP协议的数据报结构字段与端口进行了讲解,对网络层的IP数据报各字段的意义和路由实现进行了详细介绍。
  第3章:主要对Winsock编程原理、Winsock I/O模型、扩展性、套接字概念、I/O控制命令等内容进行了详细介绍,对WinInet网络编程基础和MFC Windows Sockets网络编程基础进行了简单描述。
  第4章:主要介绍了一些网络的基本应用方法,包括如何获取主机的计算机名、域名和IP地址、子网掩码、网关、DNS序列以及网卡类型、物理地址信息等。
  第5章:介绍了如何应用IP帮助函数来获取和设置本地计算机上的IP配置信息。
  第6章:介绍了局域网中ARP协议的工作原理以及如何获取ARP表的各个函数,并结合实例讲述了如何应用ARP协议与函数。
  第7章:介绍了使用Winsock开发典型客户端/服务器端程序的方法,并结合一个简单的TCP服务器实例来讲述Winsock的编程方法。
  第8章:介绍了与路由管理相关的IP帮助函数,以及如何应用这些函数进行路由跟踪的程序实现方法。
  第9章:结合程序实例讲述如何使用编程的方式来获取正在使用TCP/UDP进行网络访问的进程信息。同时,介绍了端口扫描的意义和实现方法,并以简单程序实例来说明如何对TCP/IP端口进行扫描。
  第10章:介绍了如何利用NAT穿越技术来实现可靠的P2P的TCP流通信。
  第11章:介绍了实现一个功能简单的即时通信程序的方法,用这种方法可以同时运行多个客户端连接到服务器端来进行文字信息交换。同时,也介绍了超级终端的作用,并以实例的形式说明了超级终端的基本功能。
  第12章:介绍了FTP工作原理以及如何开发FTP服务器端和客户端程序。
  第13章:介绍了HTTP协议的基本内容,并通过HTTP下载程序实例来进一步说明和讲解。
  第14章:介绍了Telnet协议的基本内容,并结合实例进行说明。
  第15章:介绍了SMTP模型的基本内容以及电子邮件接收/发送技术的实现方法,并结合实例来拓展说明。
  第16章:介绍了网络防火墙的类型、特点、工作原理,以及如何利用FilterHook Driver来实现网络防火墙。
  第17章:在第6章的基础上进一步详细介绍ARP工作原理、工作方式,并结合实例介绍典型的局域网计算机诊断、ARP欺骗与ARP表中毒、密码侦测、DNS欺骗等内容。
  第18章:介绍利用PC串口进行串行通信的基本原理,并根据实现串口通信的两种编程方式分别介绍了MSComm ActiveX控件和Windows API函数的使用方法。
读者对象
 Visual C++ 编程人员
 大中专院校的学生
 社会培训班的学生
 高等教育学校的学生
 网络系统管理员
 Web开发人员
 网络编程人员
本书光盘
  包含原书各章实例和综合应用实例的完整源代码及测试用的图像文件,读者可以按照书中的说明对程序源代码进行编译和运行。
  本书主要由代勇、李伟和杨宏帅编写,其中第1~9章由代勇编写,第10~13章、第16~18章由李伟编写,第14和15章由杨宏帅编写。参与本书编写和资料整理工作的还有朱瑛、封海波、马云辉、管殿柱、赵景波、付本国、张轩、赵景伟、赵秋玲、张忠林、王献红、王臣业、张洪信等。代勇完成了全书的统稿工作,并和李伟审校了全书。本书在编写过程中得到了海军潜艇学院宋一兵高工和哈尔滨工业大学林琳副教授的大力支持,在此特别表示感谢!
  感谢您选择了本书,希望我们的努力对您的工作和学习有所帮助,也希望您把对本书的意见和建议告诉我们。
作者:gdz_zero@126.com
编辑:zsb@hzbook.com

编者
2010年12月

上架指导

计算机\程序设计

封底文字

见附页

作者简介

代勇 李伟 杨宏帅 等编著:暂无简介

图书目录

前言
第1章TCP/IP协议模型1
11OSI参考模型1
12TCP/IP结构3
121TCP/IP模型3
122OSI参考模型与TCP/IP模型的关系4
123TCP/IP各层协议介绍4
13实践拓展12
第2章TCP/IP协议基础知识16
21IP地址和子网掩码16
211IP地址16
212子网掩码17
213网络地址18
214网络地址的计算20
22地址解析22
221地址解析的基本思想22
222完整的地址解析工作过程22
23域名系统23
231主机名的注册24
232主机名的解析24
24TCP/IP协议栈的数据包封装24
241IP数据报25
242UDP数据报29
243TCP数据报30
25端口号32
26实践拓展33
第3章Windows网络编程基础36
31套接字36
311流套接字和数据报套接字36
312基本概念37
313字节顺序38
32Winsock编程原理39
321Winsock的启动和终止39
322错误检查和控制39
323Winsock编程模型40
33Winsock I/O模型45
331Select模型46
332WSAAsyncSelect模型47
333WSAEventSelect模型48
34Winsock 2的扩展特性50
341原始套接字50
342重叠I/O模型51
343服务质量(QOS)52
35套接字选项和I/O控制命令53
351套接字选项53
352I/O控制命令55
36WinInet网络编程基础56
37MFC Windows Sockets网络编程基础62
371CAsyncSocket类62
372CSocket类67
38实践拓展70
第4章网络的基本应用75
41获取主机名和IP地址75
42获取网卡类型和子网掩码78
43获取网卡MAC地址86
431MAC基础知识86
432NetBIOS编程接口87
433NetBIOS编程基础87
44获取系统支持的网络协议90
441Win32支持的协议90
442Winsock 2的WSAEnum Protocols函数91
45实践拓展99
第5章IP配置信息管理程序设计101
51GetNetworkParams函数101
52管理网络接口103
521获取接口数量103
522获取接口信息103
53获取和设置特定的接口105
54管理IP地址108
541获取IP地址列表108
542添加和删除IP地址109
543获取IP地址列表并添加新IP地址109
55实践拓展112
第6章ARP表管理程序设计116
61ARP工作原理116
62对ARP表操作的函数117
621获取ARP表函数117
622添加ARP入口函数117
623删除ARP入口函数118
63打印ARP表程序示例118
64实践拓展122
第7章基于Winsock的客户/服务器开发124
71TCP服务器设计124
72TCP客户端设计127
73多线程TCP服务器和客户端设计129
731多线程服务器129
732客户端程序133
74网络对时程序设计136
75实践拓展138
751服务器端程序代码分析138
752客户端程序代码分析141
第8章路由管理程序设计144
81获取路由表144
82管理特定路由148
821添加路由148
822删除路由148
823修改路由149
824修改默认网关149
83基于ICMP协议的路由跟踪151
84实践拓展160
841ICMP报文简介160
842ICMP协议应用161
第9章本地网络活动监视和端口扫描164
91网络进程获取的API函数164
92列举本地所有网络的活动进程166
93TCP/IP端口扫描172
931常见端口扫描技术简介173
932端口扫描实例详解173
94实践拓展178
第10章TCP穿越NAT的P2P通信181
101NAT穿越简介181
102Session概念和NAT设备类型182
103NAT转发方式183
104NAT反向连接方式184
105基于“打洞”技术的程序设计184
106程序测试191
107实践拓展193
第11章即时通信与TCP/IP超级终端196
111即时通信原理196
1111IM技术原理196
1112IM通信方式197
112即时通信程序设计198
113TCP/IP超级终端202
114实践拓展205
第12章FTP协议与实例分析209
121FTP的工作原理209
122FTP服务程序的开发211
1221程序功能介绍212
1222程序中主要类的说明212
1223程序代码分析212
123开发FTP客户端程序220
1231客户端项目的建立221
1232客户端程序代码实现221
124实践拓展225
第13章HTTP协议与实例分析229
131HTTP协议介绍229
1311HTTP协议通信过程229
1312HTTP协议的请求报文231
1313HTTP请求流程233
1314HTTP协议的响应报文233
132HTTP下载程序实例234
133实践拓展241
第14章Telnet协议与实例分析244
141Telnet协议简介244
1411NVT ASCII字符集245
1412Telnet命令245
1413选项协商245
1414Telnet服务器进程和客户进程间的操作方式247
142实现Telnet客户端程序247
1421Telnet客户端程序功能介绍247
1422Telnet客户端程序代码分析249
143实践拓展257
第15章SMTP和POP3协议与实例分析260
151电子邮件的标准格式RFC822260
1511RFC822信件的格式和内容260
1512构造符合RFC822的信件266
1513RFC822信件的语法分析267
152SMTP模型及电子邮件的发送268
1521SMTP的模型描述268
1522SMTP的会话过程268
153无附件的电子邮件发送程序275
1531程序实例实现275
1532程序代码分析275
154带有附件的电子邮件发送程序276
1541程序实例实现276
1542程序代码分析277
155POP3协议与电子邮件的接收295
156电子邮件接收程序301
1561程序实例实现301
1562程序代码分析301
157实践拓展310
第16章网络防火墙设计317
161防火墙的类型与特点317
162防火墙的工作原理318
163FilterHook Driver防火墙程序设计320
1631FilterHook 驱动320
1632创建内核模式驱动321
1633注册过滤函数323
1634使用过滤函数324
1635过滤程序代码分析325
1636使用FilterHook Driver开发防火墙应注意的问题326
164利用ICMP数据报突破网关限制326
165实践拓展330
第17章网络安全333
171ARP的工作原理333
1711ARP的工作方式333
1712ARP协议格式与发送函数335
172ARP欺骗原理与实例336
1721ARP欺骗的实现原理336
1722IP地址冲突337
1723ARP欺骗程序实例337
173侦听局域网内的密码实例340
174Windows下DNS ID欺骗的原理342
175实践拓展352
第18章串口通信程序设计354
181串口通信基础354
1811三线制RS232C通信接线354
1812串口通信基本原理355
182MSComm控件详解356
1821MSComm控件处理通信问题的方法356
1822MSComm控件属性356
1823VARIANT数据类型359
183利用MSComm控件的串口通信程序设计360
1831基于MSComm控件的串口通信程序实例360
1832利用串口进行十六进制数据的发送364
1833十六进制数据的显示366
1834设置自动发送功能367
184串口通信的Windows API函数基础368
1841打开串口368
1842配置串口368
1843超时设置371
1844事件设置372
1845读串口373
1846写串口373
1847关闭串口374
185异步串口通信实例374
1851异步通信编程步骤374
1852异步通信实例分析376
186实践拓展380
1861Modbus协议380
1862系统设计381
参考文献384

教学资源推荐
作者: Al Kelley, Ira Pohl
作者: (美)Mary Campione,Kathy Walrath,Alison Huml
作者: 郑阿奇,梁敬东
作者: 刘振安 刘燕君 唐军 编著