糖儿飞教你学C++ Socket网络编程——2.本书目录

 

项目1 网络编程的实现原理... 1

1.1 网络程序的类型与应用领域... 1

1.1.1 网络程序的类型... 1

1.1.2 网络程序的应用领域... 2

1.2 套接字及其种类... 4

1.2.1 什么是套接字... 4

1.2.2 套接字的类型... 6

1.2.3 网络字节顺序... 6

1.3 VC编程基础知识... 7

1.3.1 VC字符串处理函数... 7

1.3.2 VC中新增的数据类型... 9

习题... 10

项目2 控制台版本的TCP通信程序... 10

2.1 套接字编程基础... 10

2.1.1 套接字编程步骤... 11

2.1.2 套接字编程的准备工作... 12

2.1.3 套接字编程中使用的函数... 13

2.1.4 套接字建立连接与TCP三次握手... 16

2.2 最基本的TCP通信程序... 16

2.2.1服务器端程序的制作... 17

2.2.2 客户端程序的制作... 18

2.2.3 Winsock的错误处理... 20

2.3 UNIX Socket编程... 20

习题... 21

项目3 Win32 API网络通信程序... 22

3.1 Windows对话框程序... 22

3.1.1 新建对话框程序... 22

3.1.2 处理Windows消息... 26

3.1.3 获取和设置控件的内容... 27

3.2 Windows API程序示例... 28

3.2.1 计算器程序... 28

3.2.2 获取主机名、IP和时间的程序... 30

3.3 Win32 API版本的TCP通信程序... 32

3.3.1 控制台程序改造成Windows程序的方法... 32

3.3.2 服务器端程序制作步骤... 33

3.3.3 客户端程序制作步骤... 36

习题... 38

项目4 异步通信版的TCP通信程序... 38

4.1  阻塞与非阻塞模式... 39

4.1.1 引起阻塞的WinSock函数... 39

4.1.2  异步I/O模型... 39

4.1.3  WSAAsyncSelect模型... 40

4.2 异步通信的TCP程序实例... 42

4.2.1 服务器端程序制作步骤... 42

4.2.2 客户端程序制作步骤... 45

习题... 47

项目5 UDP通信程序... 48

5.1 UDP通信程序的原理... 48

5.1.1 UDP协议的通信模式... 49

5.1.2UDP的数据收发函数... 51

5.2控制台版本的UDP C/S通信程序... 52

5.2.1服务器端程序的制作... 52

5.2.2 客户端程序的制作... 53

5.3 异步P2P UDP通信程序... 54

5.4 UDP广播消息的程序... 58

5.4.1 设置套接字选项... 58

5.4.2 UDP广播程序的制作... 59

习题... 63

项目6 MFC网络编程... 64

6.1 MFC概述... 64

6.1.1 MFC的类库... 64

6.1.2 MFC程序的结构... 65

6.2 MFC版本的计算器程序... 67

6.2.1 设置成员变量... 67

6.2.2 编写代码... 68

6.2.3 在VS2010中新建MFC程序... 69

6.3 MFC WinSock版的TCP通信程序... 71

6.3.1 服务器端程序的制作... 71

6.3.2 客户端程序的制作... 75

习题... 78

项目7 使用CSocket类和CAsyncSocket类... 78

7.1 MFC Socket编程基础... 78

7.1.1 CAsyncSocket类的函数... 79

7.1.2 CAsyncSocket类编程的步骤... 81

7.2 CSocket版本的TCP通信程序... 81

7.2.1 服务器端程序制作步骤... 81

7.2.2 客户端程序制作步骤... 84

7.3 CAsyncSocket版本的TCP通信程序... 86

7.3.1 服务器端程序的制作... 87

7.3.2 客户端程序的制作... 90

习题... 93

项目8 TCP文件传输程序... 93

8.1 控制台版的TCP文件传输程序... 94

8.1.1 服务器端程序的制作... 94

8.1.2 客户端程序的制作... 96

8.2 CFile和CFileDialog类... 97

8.2.1 CFile文件类的使用... 98

8.2.2 CFileDialog文件类的使用... 99

8.2.3 使用CFile和CFileDialog类制作记事本... 100

8.3 MFC版本的文件传输程序... 101

8.3.1文件传输程序的流程... 102

8.3.2服务器端程序制作步骤... 103

8.3.3 客户端程序制作步骤... 106

习题... 110

项目9 网络用户登录程序... 110

9.1 MFC访问数据库... 111

9.1.1访问数据库的原理... 111

9.1.2 ADO访问数据库示例程序... 112

9.2 单机版用户登录程序... 114

9.2.1 程序制作步骤... 115

9.2.2 查询数据库的实现... 117

9.2.3 在登录对话框与主界面之间传递变量... 119

9.3 网络版用户登录程序... 120

9.3.1 客户端程序的制作... 121

9.3.2 服务器端程序的制作... 124

习题... 127

项目10 TCP一对多通信程序... 127

10.1 多线程程序的作用... 127

10.1.1 进程与线程... 127

10.1.2 创建线程的步骤... 128

10.2 控制台版多线程TCP通信程序... 129

10.2.1服务器端程序的原理... 130

10.2.2服务器端程序制作步骤... 131

10.3 MFC版多线程TCP通信程序... 132

10.3.1程序的实现原理... 133

10.3.2 服务器端程序制作步骤... 134

习题... 138

项目11 使用select模型实现一对多通信... 138

11.1 Select模型基础... 138

11.1.1 Select模型的集合与事件... 138

11.1.2 select模型编程的步骤... 139

11.2 群聊软件... 140

11.2.1 群聊软件的实现原理... 140

11.2.2 服务器端程序的制作步骤... 142

11.3 服务器远程监控系统... 146

习题... 148

项目12 在线考试系统... 148

12.1 重叠I/O模型... 149

12.1.1 WSAOVERLAPPED结构体... 149

12.1.2 重叠I/O模型的相关函数... 150

12.1.3 重叠I/O模型的编程框架... 152

12.1.4 基于重叠I/O的TCP通信程序... 153

12.2 完成端口模型... 156

12.2.1 使用完成端口的编程流程... 156

12.2.2 在线考试系统的设计... 157

习题... 160

项目13 网络嗅探软件... 160

13.1 原始套接字概述... 161

13.1.1 创建原始套接字... 161

13.1.2 使用原始套接字收发数据... 162

13.2 制作网络嗅探软件... 162

13.2.1 网络嗅探软件的原理... 162

13.2.2 网络嗅探软件的制作... 163

习题... 164

附录A Python版的TCP通信程序... 165

附录B Java版的TCP通信程序... 166

猜你喜欢

转载自blog.csdn.net/wuxia2118/article/details/88363430