第1章 什么是计算机网络? 1
1.1 OSI的7层协议 1
1.2 TCP/IP 2
1.2.1 TCP/IP4层协议 3
1.2.2 TCP报文格式 4
1.2.3 IP报文格式 5
1.2.4 IP地址 6
1.2.5 子网 7
1.2.6 网络字节次序和主机字节次序 9
第2章 UNIX套接字(Socket)编程 11
2.1 什么是套接字(Socket)? 11
2.2 套接字的创建和关闭 11
2.3 Blocking和Nonblocking 13
2.4 与其他主机的连接 14
2.5 连接等待处理 18
2.6 接受连接请求 20
2.7 数据传送 21
2.7.1 send 21
2.7.2 recv 23
2.7.3 write 25
2.7.4 read 26
2.7.5 sendto、recvfrom 26
2.8 select函数 30
2.9 setsockopt函数 34
2.10 getsockopt函数 36
2.11 信号 39
2.12 errno错误代码 41
第3章 Winsock编程 43
3.1 Winsock的开始和结束 43
3.2 套接字的创建和关闭 45
3.3 Blocking和Nonblocking 46
3.4 与其他主机的连接 47
3.5 连接等待处理 51
3.6 连接请求的接收 52
3.7 数据传送 54
3.7.1 send 54
3.7.2 recv 55
3.7.3 sendto、recvfrom 57
3.8 select和WSAAsyncSelect、WSAEventSelect 61
3.8.1 WSAAsyncSelect函数 64
3.8.2 WSAEventSelect函数 83
3.9 setsockopt函数 101
3.10 getsockopt函数 104
3.11 WSAGetLastError错误代码 105
4.1.1 客户/服务器模型 107
第4章 服务器程序开发模型 107
4.1 一般网络编程模型 107
4.1.2 P2P模型 112
4.2 应该选择什么样的操作系统? 115
第5章 网络游戏服务器编程 125
5.1 数据包的设计 125
5.1.1 服务器示例 129
5.1.2 Client示例 160
5.2 双刃剑——线程 183
第6章 插件式游戏基本模块 185
6.1 频道的构成 185
6.2 必要功能的构成 186
6.3 模块的编写 186
附录 网络编程库文件 269