热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力

Linux/UNIX网络编程

中国水利水电出版社
    【作 者】甘刚 主编 【I S B N 】978-7-5084-5467-2 【责任编辑】张玉玲 【适用读者群】本科 【出版时间】2008-07-01 【开 本】16开本 【装帧信息】平装(光膜) 【版 次】2008年07月第1版 【页 数】248 【千字数】 【印 张】 【定 价】26 【丛 书】21世纪高职高专计算机科学规划教材 【备注信息】
图书详情

      本书详细介绍了在Unix系统下基于TCP/IP网络套接口的基本编程方法,包括迭代与并发服务器编写方法、进程与线程编程技术、I/O编程技术、IPv4与IPv6的兼容性、原始套接口、数据链路访问技术、广播与多播技术等。为满足教学实际需要,在本书最后一章,给出了Socket基本编程、服务器与单客户的连接处理、多进程服务器模板、多线程编写模板、线程专用数据TSD实现模板等5个实验指导。在本书编写过程中,编著者参阅了国内外同类书籍及各类报刊杂志,将精华思想应用到教学实践中,形成的教学成果与体会反映在书中。在书中相关章节,编者都至少列举一个完整的例子来说明问题,学习者将书中的基础实验做好,再通过相关章节中的实验进行验证,就可以学习高级Linux/UNIX编程了。

      本书在编写上力求由简到繁、由浅入深和循序渐进,读者不但可以学会程序设计的基本知识、设计思想和方法,还可以学会网络程序设计的通用方法与步骤。本书适合作为高等院校计算机及相关专业学生的教材,也可作为广大计算机爱好者、网络研究人员和网络程序开发人员的自学参考书。

      随着Internet的快速发展,使用UNIX和Linux作为服务器主机的系统越来越多,而因为这种操作系统的稳定性和安全性,也使得基于UNIX和Linux的应用服务越来越多。掌握基于UNIX和Linux环境的编程技术,已成为相关网络管理人员、网络应用程序开发人员和网络安全保障人员的必备技能。

    本书特点:

      本书在编写上力求由简到繁、由浅入深和循序渐进,读者不但可以学会程序设计的基本知识、设计思想和方法,还可以学会网络程序设计的通用方法与步骤。

    本书中的每个知识点都是以简短的篇幅介绍其中最基本、最常用的内容。通过精心设计的一些编程实例,介绍程序设计的基本方法,避免枯燥和空洞,在不知不觉中使读者学会UNIX/Linux环境中的编程技术,从而激发读者对网络编程的兴趣。

    本书内容安排:

      本书详细介绍了在UNIX/Linux系统下基于TCP/IP网络套接口的基本编程方法,包括迭代与并发服务器编写方法、进程与线程编程技术、I/O编程技术、IPv4与IPv6的兼容性、原始套接口、数据链路访问技术、广播与多播技术等。本书每章后面都附有丰富的理论巩固题和上机实践题,有助于读者复习、巩固所学知识,以培养读者的实际编程能力。

    此外,为满足教学中的实际需要,在本书最后一章还给出了Socket基本编程、服务器与单客户的连接处理、多进程服务器模板、多线程编写模板和线程专用数据TSD实现模板5个实验指导。

    书中所用到的函数都是标准函数,可以在UNIX/Linux系统上运行,所有实例程序都已在UNIX/Linux中调试通过。

    本书适用对象:

      大中专院校相关专业学生。

      高等职业技术院校相关专业学生。

      计算机培训教师和学员。

      计算机爱好者和相关技术人员。

      在本书中,“注意”中所列的内容为学员容易混淆而在授课时教师需要特别澄清的概念和问题,“提示”中所列的内容是对实际操作有帮助的一些经验性的方法和技巧。

    本书由甘刚任主编,闫丽丽、盛志伟参编。另外,参与本书部分章节编写的还有:文黎敏、王治国、冯强、曾德惠、许庆华、程亮、周聪、黄志平、胡松、邢永峰、邵军、边海龙、刘达因、赵婷、马鸿娟、侯桐、赵光明、李胜、李辉、侯杰、王红研、王磊、闫守红、康涌泉、李欢、蒋杼倩、王小东、张森、张正亮、宋利梅、何群芬、程瑶,在此向他们表示衷心的感谢。

      由于作者水平所限,加之网络技术发展迅速,本教材的覆盖面广,书中错误和不妥之处在所难免,恳请广大读者批评指证。我们的联系方式:china_54@tom.com


    前言
    第1章  TCP/IP简介 1
    1.1  概述 1
    1.1.1  基本的C/S服务模型 1
    1.1.2  OSI模型和TCP/IP四层结构 2
    1.2  IP协议介绍 3
    1.2.1  IP数据报的格式 3
    1.2.2  IP地址 4
    1.2.3  子网掩码(subnet mask) 5
    1.3  TCP协议介绍 6
    1.3.1  TCP连接的建立与终止 7
    1.3.2  TCP状态转换图 8
    1.4   UDP协议 10
    1.5  端口号 10
    1.6  本章小结 10
    1.7  实战检验 11
    理论巩固 11
    第2章  套接字编程简介 12
    2.1  套接字基础 12
    2.2  套接字的类型 13
    2.3  套接字地址结构 13
    2.3.1  IPv4套接字地址结构 13
    2.3.2  IPv6套接字地址结构 14
    2.3.3  两种套接字地址结构的比较 15
    2.3.4  通用套接字地址结构 15
    2.4  套接字基本函数 16
    2.4.1  字节排序函数 16
    2.4.2  字节操纵函数 17
    2.4.3  IP地址转换函数 17
    2.4.4  isfdtype()函数 19
    2.5  值-结果参数 19
    2.6  本章小结 20
    2.7  实战检验 20
    理论巩固 20
    上机实战 21
    第3章  基本TCP套接字编程 22
    3.1  TCP套接字编程 22
    3.1.1  socket()函数 23
    3.1.2  connect()函数 24
    3.1.3  bind()函数 25
    3.1.4  listen()函数 27
    3.1.5  accept()函数 28
    3.1.6  数据传输函数 29
    3.1.7  close()函数 31
    3.2  TCP套接字编程实例 31
    3.3  服务器的3种异常情况 35
    3.3.1  服务器主机崩溃 36
    3.3.2  服务器主机崩溃后重启 36
    3.3.3  服务器主机关闭 37
    3.4  本章小结 37
    3.5  实战检验 38
    理论巩固 38
    上机实战 38
    第4章  基本UDP套接口编程 39
    4.1  UDP套接字编程 39
    4.1.1  recvfrom()函数 40
    4.1.2  sendto函数 41
    4.2  UDP套接字编程实例 42
    4.3  UDP中对数据报的各项处理 46
    4.3.1  数据报的丢失 46
    4.3.2  验证收到的响应 46
    4.3.3  服务器进程未运行 47
    4.4  connect函数用于UDP 47
    4.5  本章小结 48
    4.6  实战检验 49
    理论巩固 49
    上机实战 49
    第5章  并发服务器 50
    5.1  服务器的分类 50
    5.2  多进程并发服务器 51
    5.2.1  进程基础 51
    5.2.2  进程创建 51
    5.2.3  进程终止 54
    5.2.4  多进程并发服务器 56
    5.2.5  多进程并发服务器实例 57
    5.3  多线程服务器 63
    5.3.1  线程基础 64
    5.3.2  线程基础函数 64
    5.3.3  给新线程传递参数 66
    5.3.4  多线程并发服务器实例 68
    5.3.5  线程安全函数 72
    5.3.6  线程安全实例 77
    5.3.7  用函数参变量实现线程安全性 82
    5.4  本章小结 85
    5.5  实战检验 86
    理论巩固 86
    上机实战 86
    第6章  名字与地址转换编程 87
    6.1  概述 87
    6.2  域名系统 87
    6.3  gethostbyname()函数 88
    6.4  RES_USE_INET6解析器选项 91
    6.5  gethostbyname2函数对IPv6的支持 91
    6.6  gethostbyaddr()函数 93
    6.7  uname()函数 93
    6.8  gethostname函数 94
    6.9  getservbyname和getservbyport函数 95
    6.10  getaddrinfo、gai_strerror和host_serv函数 96
    6.11  freeaddrinfo函数 99
    6.12  使用getaddrinfo的TCP和UDP 100
    6.13  getnameinfo函数 105
    6.14  gethostbyaddr实例 105
    6.15  本章小结 106
    6.16  实战检验 107
    理论巩固 107
    上机实战 107
    第7章  IPv4和IPv6编程 108
    7.1  IPv4客户与IPv6服务器 108
    7.2  IPv6客户与IPv4服务器 110
    7.3  IPv6_ADDRFORM套接口选项 111
    7.4  IPv6地址测试宏 112
    7.5  源代码的可移植性 112
    7.6  本章小结 113
    7.7  实战检验 113
    理论巩固 113
    上机实战 113
    第8章  守护进程和inetd超级服务器 114
    8.1  守护进程的原理 114
    8.1.1  启动守护进程 114
    8.1.2  输出守护进程消息 115
    8.1.3  syslog函数 115
    8.1.4  创建守护进程 118
    8.1.5  以守护进程方式运行的时间服务器 119
    8.2  inetd的工作原理 122
    8.2.1  概念 122
    8.2.2  工作流程 123
    8.2.3  inetd处理并发 125
    8.3  本章小结 125
    8.4  实战检验 126
    理论巩固 126
    上机实战 126
    第9章  I/O编程 127
    9.1  I/O模型 127
    9.2  select函数 130
    9.3  shutdown函数 132
    9.4  poll函数 133
    9.5  使用select函数的TCP例子 135
    9.6  高级的I/O编程 140
    9.6.1  recv和send函数 140
    9.6.2  recvmsg和sendmsg函数 141
    9.7  非阻塞connect 143
    9.8  ioctl函数 145
    9.8.1  套接口操作 146
    9.8.2  文件操作 146
    9.8.3  接口配置 146
    9.8.4  接口操作 147
    9.8.5  ARP操作 148
    9.8.6  路由表操作 148
    9.9  本章小结 148
    9.10  实战检验 149
    理论巩固 149
    上机实战 149
    第10章  广播与多播编程 150
    10.1  广播的概念 150
    10.1.1  广播的原理 150
    10.1.2  广播的示例 152
    10.2  多播概念 155
    10.2.1  多播与广播的比较 155
    10.2.2  多播套接口选项 156
    10.2.3  多播的实例 157
    10.3  本章小结 159
    10.4  理论与巩固 159
    实战检验 159
    上机实战 159
    第11章  路由套接口编程 160
    11.1  概念和数据链路套接口地址结构 160
    11.2  sysctl操作 165
    11.3  接口名和索引函数 166
    11.4  本章小结 167
    11.5  实战检验 168
    理论与巩固 168
    上机实战 168
    第12章  信号量编程 169
    12.1  信号的概念 169
    12.2  信号的概念及常见信号介绍 169
    12.2.1  signal函数 173
    12.2.2  处理SIGCHLD信号 174
    12.2.3  wait和waitpid函数 175
    12.2.4  kill和raise函数 177
    12.2.5  SIGPIPE信号 178
    12.2.6  alarm和pause函数 178
    12.2.7  sigprocmask函数 179
    12.2.8  sigpending函数 179
    12.2.9  sigaction函数 179
    12.2.10  sigsetjmp和siglongjmp函数 180
    12.2.11  sigsuspend函数 180
    12.2.12  abort函数 181
    12.2.13  system函数 181
    12.2.14  sleep函数 182
    12.3  例子:使用SIGIO的UDP回射服务器程序 183
    12.4  本章小结 188
    12.5  实战检验 188
    理论巩固 188
    上机实战 188
    第13章  原始套接口与数据链路访问编程 189
    13.1  原始套接口创建 189
    13.2  原始套接口输出 190
    13.3  原始套接口输入 191
    13.4  原始套接字编程实例 191
    13.4.1  实例1:拒绝服务攻击 191
    13.4.2  实例2:ICMP包的构建、发送和接收 194
    13.4.3  实例3:ping程序 197
    13.5  数据链路层访问 202
    13.5.1  BPF:BSD分组过滤器 203
    13.5.2  数据链路提供者DLPI 203
    13.5.3  Linux的SOCK_PACKET 204
    13.5.4  分组捕获函数库libpcap 204
    13.5.5  libpcap的库函数 205
    13.5.6  数据链路层访问实例 209
    13.6  本章小结 213
    13.7  理论与巩固 214
    实战检验 214
    上机实战 214
    第14章  实验指导 215
    14.1  Socket基本编程 215
    14.2  服务器与单客户的连接处理 218
    14.3  多进程服务器模板 221
    14.4  多线程编写模板 226
    14.5  线程专用数据TSD实现模板 230
    参考文献 236
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册