本书通过55个精彩的实例,全面剖析了在Linux下编写网络应用程序的方法,并阐述了网络协议架构和开发规范。为了适应不同读者的需要,本书从最基本的Linux系统操作到网络技术的基本理念,逐步深入至Linux/UNIX下具体的编程实践,结合大量具体实例和编程经验,为读者展现Linux平台下网络编程的魅力。 全书由13章组成,内容涉及到Lindx系统编程基础、TCP/UDP协议、套接字编程概念及I/O模型、高级编程中需要用到的进程问通信同步、多路复用、多线程编程和一些高级套接字控制方法、IPv6介绍以及网络安全等。本书最后还汇集了很多网络编程的具体实例,读者可以模仿书中的范例来开发自己的应用程序。 本书内容丰富结构清晰,实例典型,文字简洁流畅,边讲边练。不但是Linux应用与开发的从业人员的指导书,而且也可作为大专院校相关专业师生教学与自学的参考书以及社会初、中级培训班教材。\r\n
第1章 Linux平台环境简单回顾\r\n\r\n1.1 文件系统及其操作\r\n1.2 标准输入输出\r\n1.3 进程概念及控制\r\n1.4 信号\r\n1.5 本章小结\r\n\r\n第2章 进程间通信\r\n\r\n2.1 管道和FIFO\r\n2.2 消息队列\r\n2.3 信号量\r\n2.4 共享内存区\r\n2.5 本章小结\r\n\r\n第3章 传输层协议TCP和UDP\r\n\r\n3.1 TCP/IP基本框架\r\n3.2 用户数据报协议(UDP)\r\n3.3 传输控制协议(TCP)\r\n3.4 TCP连接的建立、握手与结束\r\n3.5 端口\r\n3.6 缓冲区\r\n3.7 标准Internet服务\r\n3.8 本章小结\r\n\r\n第4章 TCP套接字简介\r\n\r\n4.1 套接字概述\r\n4.2 套接字地址结构\r\n4.3 位顺序调整\r\n4.4 建立套接字\r\n4.5 连接\r\n4.6 服务进程创建\r\n4.7 终止连接\r\n4.8 连接地址信息获取\r\n4.9 Socket编程Client/Server应用简单示例\r\n4.10 本章小结\r\n\r\n第5章 TCP套接字编程实例\r\n\r\n5.1 TCP客户——服务器实例一\r\n5.2 实例之二\r\n5.3 本章小结\r\n\r\n第6章 UDP数据报\r\n\r\n6.1 UDP通讯机制\r\n6.2 UDP的应用场合\r\n6.3 增加UDP的可靠性\r\n6.4 UDP编程综合实例\r\n6.5 本章小结\r\n\r\n第7章 套接字中的I/O模型\r\n\r\n7.1 阻塞式I/O\r\n7.2 非阻塞式I/O\r\n7.3 实例\r\n\r\n第8章 套接字属性控制\r\n\r\n8.1 获取和设置套接字属性\r\n8.2 IPv4和IPv6套接字属性\r\n8.3 套接字属性控制\r\n8.4 本章小结\r\n\r\n提高篇\r\n\r\n第9章 进程间通讯的同步\r\n\r\n9.1 互斥锁\r\n9.2 条件变量\r\n9.3 读写锁\r\n9.4 记录上锁\r\n9.5 本章小结\r\n\r\n第10章 多路复用和信号驱动I/O\r\n\r\n10.1 多路复用\r\n10.2 poll函数\r\n10.3 多路复用编程实例\r\n10.4 信号驱动I/O\r\n10.5 本章小结\r\n\r\n第11章 高级套接字I/O操作\r\n\r\n11.1 send和recv函数\r\n11.2 readv和writev函数\r\n11.3 sendto和recvfrom函数\r\n11.4 recvmsg和sendmsg函数\r\n11.5 辅助数据\r\n11.6 本章小结\r\n\r\n第12章 多线程编程及网络应用\r\n\r\n12.1 基本概念\r\n12.2 线程基础\r\n12.3 线程应用中的同步问题\r\n12.4 多线程编程的网络应用\r\n12.5 本章小结\r\n\r\n第13章 IP协议及其属性\r\n\r\n13.1 IPv4内容\r\n13.2 IPv6内容\r\n\r\n第14章 网络编程的安全性问题\r\n\r\n14.1 系统子程序\r\n14.2 标准C库\r\n14.3 写安全的C程序\r\n14.4 root程序的设计\r\n14.5 本章小结\r\n\r\n实例篇\r\n\r\n实例一 Ping\r\n实例二 聊天室的实现\r\n实例三 端口扫描程序\r\n实例四 网页更新检查程序\r\n实例五 sniffer的基本实现\r\n实例六 IP包检查程序\r\n实例七 IP欺骗实例\r\n实例八 路由测试程序\r\n实例九 Linux防火墙的编写\r\n实例十 守护进程\r\n实例十一 普通文件传输协议(TFTP)\r\n\r\n附录 \r\n\r\n附录一 GCC命令选项\r\n附录二 Makefile文件的编写方法\r\n附录三 GDB调试器