网络程序设计教程

网络程序设计教程
作 者: 吴礼发
出版社: 北京希望电子出版社
丛编项: 新世纪网络技术系列教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《网络程序设计教程》作者简介

内容简介

本教程是“新世纪网络技术系列教材”之一,该系列教材由网络技术主干课程教材组成,分别是《网络原理与技术教程》、《网络工程设计教程》、《网络程序设计教程》、《网络管理技术教程》、《网络安全技术教程》、《网络分布式计算》和《网络协议工程》。本系列教材可供本科、高职高专网络专业、计算机专业和相关IT专业根据网络课程的设置情况选用。本教程介绍计算机网络程序设计的原理和方法,由四部分内容、共9章构成,主要内容包括计算机网络程序设计的概念和方法,Unix系统下的基于Berkeley插口API的网络应用程序设计的原理和方法(本书的重点),Windows环境下的基于Windows插口API的网络应用程序设计的原理和方法。此外,本书还介绍了别一种风格的计算机网络程序设计方法:VMS系统下的DECnet网络程序设计的基本原理和方法。各章附有大量习题,可供上机练习。本教程由高等行院校具有丰富教学和开发经验的一线教师精心设计和撰写,在介绍各种具体的网络编程方法的同时力图清楚讲述带有共性的网络编程的原理和方法,同时,还比较透彻地分析了各种设计方法的原理以及各种异常情况的处理方法,强调学生学习后技术能力的提高和实现,强调具体编程方法的实现与基本原理方法的结合讨论,以提高学习对不同应用变化的应对能力。本教程体现了实践要求与教学目标的统一原则。本教程可作为高校、高职计算机网络课的教科书、社会广大网络编程人员自学指导书和社会网络初、中级培训班教材。本版CD含本教材实例源码。

图书目录

第1章 绪论

1-1 概述

1-2 网络服务

1-2-1 运输层服务

1-2-2 数据链路层服务

1-3 网络应用编程接口

1-3-1 Berkeley插回 API

1-3-2 TLI

1-3-3 WlldOWS SOCkCtS

1-3-4 可视化编程环境下的网络控件

1-3-5 其他网络编程接回

1-4 网络编程模式

1-5 网络编程要考虑的问题

1-5-1 并发环境下的网络编程

1-5-2 异构环境下的网络编程

1-5-3 阻塞与非阻塞通信

1-5-4 服务类型的选择

1-5-5 差错处理

1-6 UniX标准的历史

1-6-1 BSD历史

1-6-2 Posix的历史

1-6-3 Open Group的历史

1-6-4 Unix版本和移植性

1-7 小结

1-8 习题

第2章 插口 API简介

2-l 概述

2-2 端日和插日

2-3 基本数据结构

2-3-1 IPv4插口地址结构

2-3-2 IPV6插日地址结构

2-3-3 通用插口地址结构-

2-4 基本插日函数

2-4-1 socket函数

2-4-2 bind函数

2-4-3 connect函数

2-4-4 listen函数

2-4-5 accept函数

2-4-6 getsockname函数

2-4-7 getpeername函数

2-4-8 shutdown函数

2-4-9 close函数

2-5 插口I/O函数

2-5-1 基本插日I/O函数

2-5-2 插口I/O状态查询函数

2-6 插日选项函数

2-6-1 插口选项函数

2-6-2 ioctl函数和fcntl函数

2-7 字节排序函数

2-8 字节操纵函数

2-9 地址转换函数

2-10 网络信息查询函数

2-10-1 gethostbyname函数

2-10-2 gethostbyaddr函数

2-10-3 gethostname函数

2-10-4 getservbyname函数

2-10-5 getservbyport函数

2-11 小结

2-12 习题

第3章 TCP插口编程

3-1 概述

3-2 TCP协议机制

3-2-1 TCP连接的建立和终止

3-2-2 TCP的有限状态机

3-2-3 TIME_WAIT状态

3-2-4 TCP的数据输出过程

3-3 基本TCP插曰编程

3-3-1 TCP插日编程模式

3-3-2 实例

3-3-3 使用netstat观察TCP连接状态

3-3-4 非阻塞方式下的客户一服务器程序

3-3-5 发送数据大小的选择

3-3-6 重要选项的设置

3-4 异常情况的处理

3-4-1 异常连接的处理

3-4-2 服务器的异常终止

3-4-3 对SIGPIPE信号的处理

3-5 TCP带外数据

3-5-1 带外数据的基本原理

3-5-2 带外数据的插口编程

3-6 异种平台间的数据交换

3-7 小结

3-8 习题

第4章 UDP插口编程

4-1 概述

4-1-1 UDP协议概述

4-1-2 UDP的数据输出过程

4-2 基本UDP插口编程

4-2-1 UDP编程模式

4-2-2 实例

4-2-3 测试UDP的不可靠性

4-2-4 调用connect()的UDP应用

4-2-5 recvfrom的超时问题

4-2-6 数据报的截断

4-3 广播和多播

4-3-1 广播

4-3-2 广播地址

4-3-3 广播例程

4-3-4 多播

4-3-5 多播例程

4-4 比较TCP和UDP

4-5 小结

4-6 习题

第5章 基于插口的高级网络编程

接口NPORT

5-1 概述

5-2 基本数据结构NPORT

5-3 NPORT中的功能函数

5-3-1 NPORTInit函数

5-3-2 NPORTModeBlock和NPORTModeNoBlock函数

5-3-3 函数NPORTLoca1Port和NPORTLoca1Name

5-3-4 函数NPORTRemotePort和NPORTRemoteName

5-3-5 函数NPORTSPNumber

5-3-6 函数NPORTClose和NPORTShutdown

5-3-7 函数NPORTSOpen

5-3-8 函数 NPORTCOpen

5-3-9 函数NPORTDBOpen

5-3-10 函数NPORTDOpen

5-3-11 函数 NPORTSAccept

5-3-12 函数NPORTCRequest-

5-3-13 函数NPORTMSgRdy

5-3-14 函数NPORTWrtRdy

5-3- 15 函数 NPORTOOBRdy

5-3-16 函数NPORTLWrite

5-3-17 函数NPORTLRead

5-3-18 函数 NPORTDPRead

5-3-19 函数NPORTDPWrite

5-3-20 函数NPORTDBWrite-

5-3-21 函数 NPORTRWError

5-4 基于 NPORT网络程序设计

5-4-1 TCP NPORT编程模式

5-4-2 TCP NPORT程序实例

5-4-3 UDP NPORT编程模式

5-4-4 UDP NPORT程序实例

5-5 小结

5-6 习题

第6章 网络服务器的设计模式

6-1 概述

6-2 多进程环境下的网络编程

6-2-1 进程的基本概念

6-2-2 多进程下的网络编程

6-2-2 多进程下的网络编程

6-3 多线程环境下的应用程序设计

6-3-1 线程的基本概念

6-3-2 线程的基本编程接口

6-3-3 多线程程序设计

6-4 网络服务器的设计模式-

6-4-1 串行服务器

6-4-2 并发服务器

6-4-3 不同服务器的比较

6-5 小结

6-6 习题

第7章 数据链路层的网络编程

7-1 概述

7-2 BPF与DLPL

7-3 Libpcap

7-3-1 Libpcap简介

7-3-2 Libpcap接口函数简介

7-3-3 LibPCaP程序设计实例

7-4 小结

7-5 习题

第 8章 Windows环境下的网络程序设计

8-l 概述

8-2 Winsock与Berkeley插口API的区别

8-2-1 插口数据类型

8-2-2 错误代码

8-2-3 指针

8-2-4 重命名的函数

8-2-5 阻塞与非阻塞模式的选择

8-2-6 Windows Sockets支持的最大插口数目

8-2-7 头文件

8-2-8 原始插口

8-2-9 Windows插口API对Berkeley插口 API的扩展

8-3 Windows SocketS接口对 Berkeley

插口 API的扩展

8-3-1 基本的扩展函数

8-3-2 Winsock 2中扩展的API函数

8-4 基于 Windows Sockets API的网络编程

8-4-1 基于类的网络程序设计

8-4-2 基于控作的网络程序设计

8-5 小结

8-6 习题-

第9章 VMS操作系统下的DECnet

网络编程

9-1 概述

9-1-1 VMS或OpenVMS

9-1-2 DECnet

9-2 DECnet网络编程基础

9-2-1 基本概念

9-2-2 任务到任务通信

9-2-3 所用系统服务调用

9-2-4 逻辑链路管理

9-2-5 非透明通信过程中利用的数据结构

9-2-6 非透明通信过程描述

9-2-7 常见错误分析

9-3 实例

9-4 小结

参考文献