出版时间:2009-11 出版社:清华大学出版社 作者:(美)多纳霍,(美)卡尔弗特 页数:180 译者:陈宗斌
Tag标签:无
前言
在我们编写本书的第1版时,在关于联网的大学课程中包括编程方面的内容不是很常见。现在看起来这似乎令人难以置信,目前,Internet变得对我们的世界如此重要,并且讲授实用编程和真实协议示例的好处被如此广泛地接受。尽管现在有其他语言提供了对Interact的访问,人们对原始的基于C的Berkeley Sockets仍然有很浓厚的兴趣。用于联网的Sockets API(应用程序编程接口)是20世纪80年代在加州大学伯克利分校为I_YNIX:的BSD版本开发的——这种UNIx版本是现在称为开源项目的最初几个示例之一。 Sockets API和Intemet在许多竞争性协议族——IPX、Appletalk、DECNet、OSI、SNA以及TCPfiP(Transmission Control Protocol/Intemet Protocal,传输控制协议/网际协议)一一的世界中逐渐成长起来,并且Sockets被设计成支持所有这些协议。在我们编写本书第1版时,只有很少的几个协议族被广泛应用,今天这个数量甚至更少。然而,就像我们在本书第1版中所预计的,对于那些想要设计和构建使用Intemet(即使用TCP/IP)的分布式应用程序的人来说,Sockets API仍然很重要。并且此接口已经证明非常健壮,足以支持网际协议的新版本(IPv6),现在几乎所有的公共计算平台都支持IPv6。 两个主要的考虑促使我们编写了本书的第2版。第一,依据我们自己的经验和其他人的反馈意见,我们发现一些主题需要更深入地介绍,另外一些主题则需要扩展。第二个考虑是人们日益接受并使用IPv6,它现在实质上受到所有当前的最终系统平台的支持。在编写本书时,不可能使用IPv6与Intemet上的大部分主机交换信息,但是有可能给其中的许多主机分配一个IPv6地址。尽管称IPv6将接管整个世界仍言之过早,但是开始编写应用程序以为之做好准备却正当其时。
内容概要
本书为开发成熟且功能强大的Web应用程序提供所需的知识和技巧。本书以教学指南的方式,帮助读者掌握在C语言环境下,用套接字实现客户—服务器项目开发的任务和技术。本书的本版次增加了对最新技术的介绍,如对IPv6的支持,以及更详细的编程策略等内容。 本书内容简明扼要、示例丰富,既可作为高等学校网络编程课程的教学参考书,也是网络开发人员进行应用程序开发的常备参考书。
作者简介
多纳霍,Baylor大学副教授,为本科生和研究生讲授网络技术课程。他编写了多本关于各种语言的套接字编程图书,以及一本SQL方面的图书。
书籍目录
第1章简介 1.1 网络、分组和协议 1.2 关于地址 1.2.1 记下IP地址 1.2.2 处理两个版本 1.2.3 端口号 1.2.4 特殊地址 1.3 关于名称 1.4 客户与服务器 1.5 什么是套接字 练习题第2章 基本的TCP套接字 2.1 IPv4 TCP客户 2.2 IPv4 TCP服务器 2.3 创建和销毁套接字 2.4 指定地址 2.4.1 通用地址 2.4.2 IPv4地址 2.4.3 IPv6地址 2.4.4 通用地址存储器 2.4.5 二进制/字符串地址转换 2.4.6 获取套接字的关联地址 2.5 连接套接字 2.6 绑定到地址 2.7 处理进入的连接 2.8 通信 2.9 使用IPv6 练习题第3章 关于名称和地址族 3.1 将名称映射到数字 3.1.1 访问名称服务 3.1.2 详细信息 3.2 编写地址通用的代码 3.2.1 通用的TCP客户 3.2.2 通用的TCP服务器 3.2.3 IPv4与IPv6之间互操作 3.3 从数字获取名称 练习题第4章 使用UDP套接字 4.1 UDP客户 4.2 UDP服务器 4.3 利用UDP套接字进行发送和接收 4.4 连接UDP套接字 练习题第5章 发送和接收数据 5.1 编码整数 5.1.1 整数的大小 5.1.2 字节排序 5.1.3 符号性与符号扩展 5.1.4 手工编码整数 5.1.5 在流中包装TCP套接字 5.1.6 结构覆盖:对齐与填充 5.1.7 字符串和文本 5.1.8 位操作:编码布尔值 ……第6章 超越基本的套接字编程第7章 揭密第8章 C++进行套接字编程参考文献
章节摘录
一个程序怎样通过网络与另一个程序通信?本书的目标是:在C编程语言的环境下,开始让你理解这个问题的答案。长时间以来,C都是实现网络通信软件所选的语言。的确,称为套接字的API(applicationprogramminginterface,应用程序编程接口)最初就是用C开发的。 不过,在深入研究套接字的细节之前,值得从总体上简要探讨一下网络和协议,看看我们的代码将适合于应用在什么位置。我们在本书中的目标不是讲授网络和TCP/IP如何工作——有许多针对此目的的优秀教材可以阅读[1、3、10、15、17】,而是介绍一些基本的概念和术语。 计算机网络由通过通信信道互连的机器组成。我们把这些机器称为主机(host)和路由器(router)。主机是运行应用程序(比如Web浏览器、IM代理或文件共享程序)的计算机。主机上运行的应用程序是网络的真正“用户”。路由器也称为网关(gateway),这种机器的职责是把信息从一条通信信道中继或转发(forward)到另一条通信信道。它们可能会运行程序,但是通常不会运行应用程序。出于我们的目的,通信信道(communicationchannel)是把字节序列从一台主机传送到另一台主机的工具;它可能是有线(例如,以太网)、无线(例如,WiFi)或其他连接。
图书封面
图书标签Tags
无
评论、评分、阅读与下载