Windows 网络程序设计完全讲义

出版时间:2010-5  出版社:水利水电出版社  作者:高守传,周书锋 主编  页数:391  
Tag标签:无  

前言

随着计算机网络尤其是Internet的迅猛发展,人类社会已经进入了以网络技术为基础的信息化时代,网络应用渗透到生活的各个领域,即使在我们这样的发展中国家,普及程度也相当可观。2009年7月16日,中国互联网络信息中心(CNNIC)发布的统计报告显示,截至2009年6月30日,我国网民规模已达3.3 8亿,居世界第一位。网络的普及大大改变了人们的传统习惯,拓展了新的媒体形式。但是,真正提供服务的却是构建在其上的各种类型的网络应用软件,通过这些软件提供的服务,人们可以进行网上购物、收发电子邮件、实现家庭办公、进行视频点播及远程教育等。TCP/IP协议是Internet的核心,在制定TCP/IP协议的目标时就已指出,任何人都能方便地使用Internet,并在其上开发出满足不同需要的应用程序。本书即是参照TCP/IP协议的这一要求,并围绕TCP/IP协议,在Windows环境中实现网络程序的设计。本书的主要内容如下:第1章作为本书的开篇,也是TCP/IP协议的基础,介绍了常见的网络模型,同时还介绍了寻址方法与数据包在网络中的传递过程。第2章详细介绍Windows中套接字的相关知识,主要包括套接字规范、Winsock.编程基础、连接与无连接通信知识、套接字选项与I/O控制等,最后分别给出连接与无连接通信的例子来加深读者对二者的理解。第3章介绍Windows套接字的5种I/O操作模型,即select模型(又称选择模型)、WSAAsyncSelect模型(又称异步选择模型)、WSAEventSelect模型(又称事件选择模型)、重叠I/O模型和完成端口模型,同时分别给出它们的具体实现,最后对各个模型进行了简单比较,以便帮助读者选择合适的编程模型。第4章介绍Windows网络服务的编程方法,因为大多数网络服务是以系统服务的方式提供,所以有必要通过本章来学习Windows服务程序的设计方法。第5章介绍MFC中提供的套接字类,并对如何通过它们进行网络编程进行详细介绍,结尾给出了一个使用它们进行网络聊天室开发的实例。第6章介绍WinInet、ISAPI与Internet编程的具体细节,这些标准简化了C/S模式的Internet.编程方法。第7~9章介绍TCP/IP协议族中的应用层协议,主要包括HTTP协议、SMTP协议、:POP3协议、SOCK.S5代理协议等。作为网络应用程序的设计人员,在理解TCP/IP协议工作原理的基础上,应用层协议应是关注的重点,这也是本书以此3章来介绍应用层协议的目的所在。第10章介绍原始套接字的相关知识,包括Windows对原始套接字的支持情况、如何使用原始套接字等,最后给出两个例子分别实现了不同的用途,其中包括在ICMP协议中的应用和数据捕获方面的应用。第l1章介绍WinPcap的相关知识,作为Windows环境中经典的数据包捕获驱动库,WinPcap的应用非常广泛,最后给出WinPcap在数据捕获方面的应用实例。第12章介绍远程控制的相关知识,包括连接方式、隐藏技术、启动方式、文件捆绑、键盘记录等,最后给出一个简单的控制实例,读者可以应用本章介绍的知识对此实例进行扩展,以实现一个具有较强功能的远程控制软件。本书定位于初、中级读者,也可用作高等院校计算机及通信专业低年级学生的参考教材。在编写时,力求做到浅显易懂,并配有大量插图帮助读者理解,在程序设计实例中注释也比较详细,以便读者自学。网络程序设计是一门实践性较强的课程,对读者来说,只有在理解相关理论的基础上进行大量的动手实践,才能学好网络程序设计,因此,建议读者在学习过程中一定要边学习边实践,以达到学习效率的最大化。

内容概要

网络程序设计是当前各种程序设计中最活跃的一个分支,几乎渗透到各种应用场合。在Windows网络程序设计中,基于套接字的编程方式又是一种比较常见而且最为灵活的网络应用程序设计方法。本书从简单的网络通信协议入手,介绍了Windows中常见网络程序的设计方法,主要包括TCPfiP协议、网络服务、MFC网络编程、WinInet、ISAPI、Internet、HTTP协议、SMTP/POP3协议、代理协议、原始套接字等。此外,还对通用的数据包捕获驱动WinPcap进行简要介绍,并给出了捕获示例,最后结合现实需要对远程控制的相关技术进行说明,并给出了实现的例子。    全书内容丰富,讲解细腻,在对理论进行阐述的同时,结合具体实践给出了相应的实现代码,具有较强的针对性,力求使读者通过理论联系实际,掌握Windows网络程序设计的一般方法,学习尽可能多的知识。同时,对于开发中可能会遇到的问题也都给出了相应的提示或说明。    本书定位于初、中级读者,同时也可用作高等院校计算机及通信专业低年级学生的参考教材。

书籍目录

前言第1章 网络模型  1.1 功能分层  1.2 OSI模型    1.2.1 OSI层次结构    1.2.2 OSI各层功能    1.2.3 OSI层间通信    1.2.4 OSI数据封装及解封装  1.3 TCP/IP协议簇    1.3.1 TCPHP层次结构    1.3.2 TCPHP各层功能    1.3.3 TCP/IP与OSl模型比较    1.3.4 Internet层——-IP协议    1.3.5 传输层——TcP协议    1.3.6 TCP连接的建立与终止    1.3.7 传输层一丁DP协议    1.3.8 Windows 2003 TCPhP结构模型  1.4 LAN模型    1.4.1 IEEE 802概述    1.4.2以太网标准  1.5 寻址方法  1.6 数据包在网络中的传递  1.7 本章小结第2章 Windows套接字基础  2.1 套接字简介    2.1.1 Berkeley套接字    2.1.2 Windows套接字规范  2.2 Windows Sockets    2.2.1 Windows Sockets 1.0    2.2.2 Windows Sockets 1.1  2.3 WindOWS Sockets 2    2.3.1 Windows Sockets 2简介    2.3.2 同时访问多个传输协议    2.3.3 与WinSock 1.1的兼容性    2.3.4 功能扩展机制    2.3.5 多线程中的应用    2.3.6 分散/聚集I/O支持  2.4 WinSock编程基础    2.4.1 WinSock APl    2.4.2 网络程序结构    2.4.3 端口的概念    2.4.4 字节顺序    2.4.5 出错的处理    2.4.6 win Sock库的初始化及释放  2.5 面向连接的通信    2.5.1 socket与WSASocket    2.5.2 绑定套接字bind    2.5.3 监听listen    2.5.4 accept与WSAAccept    2.5.5 send与WSASend    2.5.6 recv与WSARecv    2.5.7 connect与WSAConnect    2.5.8 closesocket  2.6 无连接通信    2.6.1 sendt0与WSASendto    2.6.2 recvfrom与WSARecvfrom-  2.7 套接字选项与I/O控制    2.7.1 套接字选项    2.7.2 套接字I/O控制  2.8 套接字工作模式  2.9 流式套接字编程实例    2.9.1 TCP服务端设计    2.9.2 TCP客户端设计  2.10 数据报套接字编程实例    2.10.1 UDP服务端设计    2.10.2 UDP客户端设计  2.11 本章小结第3章 windows Socket I/O模型  3.1 select模型……第4章 网络服务第5章 MFC套接字网络编程第6章 WinInet、ISAPI与Internet编程第7章 HTTP协议第8章 邮件传输第9章 代理服务器第10章 原始套接字第11章 WinPcap应用第12章 远程控制技术附录A IP协议号附录B 以太网型字段附录C 常见端口附录D ASCII表参考文献

章节摘录

插图:如前所述,远程控制技术的实现依赖于主控端和被控端之间的通信。一般情况下,都是通过IPX/Spx或TCP/IP等协议来实现远程控制,而这些都依赖于主控端和被控端之间连接的建立,当然也有少数部分通过类似UDP协议等非连接方式实现控制功能。本节只介绍主流的基于连接的通信控制。一般情况下,连接方式分为主动连接和被动连接(又叫反弹连接),这里的主动和被动是指站在主控端的角度而言,所谓主动连接就是由主控端连接被控端,而被动连接则是指被控端连接主控端。早期的远程控制软件都是基于主动的连接方式实现,但是随着网络安全产品应用的推广,使得主动连接方式遭遇到诸多的问题。例如,对于图12.1 中的防火墙和网关后面的被控端而言,主动连接方式很难穿透防火墙和网关,所以如今采用这种连接方式的软件比较鲜见了,而大都采用反弹连接的方式。因此,这也是本节的重点。对于反弹连接,所要解决的问题在于如何获取主控端的地址。通常采用两种方式,即直接指定和通过第三方来获取。下面就对它们的具体实现进行讨论。直接指定就是将主控端的IP地址或域名配置在被控端的配置信息中,这样当被控端需要连接主控端时,就从自己的配置信息中直接读出主控端的地址信息或域名,然后直接连接即可。对于域名,它还要将其转换为IP地址才能建立到主控端的连接。这种方式要求主控端拥有较为固定的IP地址,否则不能保证被控端总能连接到主控端。不过,这可以通过将域名绑定IP地址的方法解决这个问题。但是,又增加了另外的负担,在IP地址变动比较频繁的情况下,要时时将其变化反映到域名上。其实,这种问题的另一个问题在于,若不对配置信息进行加密,则可以通过分析被控端文件得知主控端的IP地址或主机域名,这显然会带来一定的风险。

编辑推荐

《Windows 网络程序设计完全讲义》以RFC网络协议为基础,以TCP/IP协议为主线。避免了一般同类书籍脱离RFC且无侧重讨论的问题。紧密结合学习实践需要,‰精选多个典型实例。以实用和兴趣为引导,避免枯澡且脱离实际的学习,进而提高了学习效率。以解决实际问题为原则,代码紧凑而不冗余,而且在关键处还配有大量的代码注释。以最小的篇幅和最简单的代码将复杂问题简单化,利于读者消化和吸收。对于部分难点、疑点,编者还在书中以“说明”或“注释的形式向读者提供相关背景,这样便于读者对正文的理解。全书编配了大量的插图用以解释“流程”、“结构”、“框架”等抽象概念,以辅助读者对相关概念从抽象到具体的转化,从而实现准确的理解。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Windows 网络程序设计完全讲义 PDF格式下载


用户评论 (总计6条)

 
 

  •   不错,挺好的,适合刚学网络的人群
  •   物流给力,货到的很快,质量也挺好
  •   本书还算不错,但介绍不够具体,有些给人一种“断层的感觉”,不适合入门以及开发,应该教读者怎样去开发,那此书就更加完美,书中的代码东一段,西一段的,根本让人怎么去使用,表现欠佳,如果改正,那将是一本不可多的的好书。
  •   看了好久找到了,相当的喜欢。。
  •   这本书,我粗略了看了几章,写的还可以,很多讲解都但上图,但是网络IO模型也只是轻描淡写,不过总体来说已经是不错了,代码清晰规范有注释!
  •   这是我网上找到的最便宜的正版了
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7