وبلاگ بلیان

Visual C++ 2017网络编程实战

معرفی کتاب «Visual C++ 2017网络编程实战» نوشتهٔ 朱晨冰著، منتشرشده توسط نشر 清华大学出版社 در سال 2020. این کتاب در فرمت pdf، زبان zh ارائه شده است. «Visual C++ 2017网络编程实战» در دستهٔ بدون دسته‌بندی قرار دارد.

本书从初学者的角度出发,以通俗易懂的语言,配合丰富多彩的实例,详细地介绍了使用Visual C++ 2017进行网络编程应该掌握的各方面知识,以及网络编程的常见场景和较难技术,快速提高开发技能。 全书共分18章,内容包括TCP/IP协议、本机网络信息编程、多线程编程、套接字编程、简单网络服务器设计、基于IO模型的网络开发、网络性能工具iperf的使用、WinInet开发浏览器实例、HTTP编程、Web编程、中国象棋网络对弈实例、winpcap编程、ICE网络编程和IPv6网络编程。 本书适合Visual C++网络编程初学者阅读,可供开发人员查阅参考,也适合作为高等院校相关专业的教学参考书。 1 (p1): 第1章 TCP/IP协议基础 1 (p1-1): 1.1什么是TCP/IP 1 (p1-2): 1.2 TCP/IP协议的分层结构 5 (p1-3): 1.3应用层 5 (p1-3-1): 1.3.1 DNS 6 (p1-3-2): 1.3.2端口的概念 6 (p1-4): 1.4传输层 7 (p1-4-1): 1.4.1 TCP协议 7 (p1-4-2): 1.4.2 UDP协议 8 (p1-5): 1.5网络层 8 (p1-5-1): 1.5.1 IP协议 15 (p1-5-2): 1.5.2 ARP协议 16 (p1-5-3): 1.5.3 RARP协议 17 (p1-5-4): 1.5.4 ICMP协议 26 (p1-6): 1.6数据链路层 26 (p1-6-1): 1.6.1数据链路层的基本概念 26 (p1-6-2): 1.6.2数据链路层的主要功能 27 (p1-7): 1.7一些容易混淆的术语 27 (p1-7-1): 1.7.1 MTU 28 (p1-7-2): 1.7.2 IP分组的分片问题 28 (p1-7-3): 1.7.3数据段 28 (p1-7-4): 1.7.4数据报 28 (p1-7-5): 1.7.5数据包 29 (p1-7-6): 1.7.6数据帧 29 (p1-7-7): 1.7.7比特流 30 (p2): 第2章 本机网络信息编程 30 (p2-1): 2.1获取本地计算机的名称和IP 30 (p2-1-1): 2.1.1 gethostname函数 30 (p2-1-2): 2.1.2 gethostbyname函数 31 (p2-1-3): 2.1.3 inet_ntoa函数 34 (p2-2): 2.2获取本机子网IP地址和子网掩码 36 (p2-3): 2.3获取本机物理网卡地址信息 38 (p2-4): 2.4获取本机所有网卡(包括虚拟网卡)的列表和信息 41 (p2-5): 2.5获取本地计算机的IP协议统计数据 44 (p2-6): 2.6获取本机的DNS地址 46 (p2-7): 2.7获取本机上的TCP统计数据 49 (p2-8): 2.8获取本机上的UDP统计数据 50 (p2-9): 2.9获取本机上支持的网络协议信息 52 (p2-10): 2.10获取本地计算机的域名 54 (p3): 第3章 多线程编程 54 (p3-1): 3.1多线程编程的基本概念 54 (p3-1-1): 3.1.1为何要用多线程 54 (p3-1-2): 3.1.2操作系统和多线程 55 (p3-1-3): 3.1.3进程和线程 56 (p3-1-4): 3.1.4线程调度 59 (p3-1-5): 3.1.5线程函数 59 (p3-1-6): 3.1.6线程对象和句柄 59 (p3-1-7): 3.1.7线程对象的安全属性 60 (p3-1-8): 3.1.8线程标识 60 (p3-1-9): 3.1.9多线程编程的3种库 60 (p3-2): 3.2利用Win32 API函数进行多线程开发 61 (p3-2-1): 3.2.1线程的创建 65 (p3-2-2): 3.2.2线程的结束 71 (p3-2-3): 3.2.3线程和MFC控件交互 78 (p3-2-4): 3.2.4线程的暂停和恢复 81 (p3-2-5): 3.2.5消息线程和窗口线程 84 (p3-2-6): 3.2.6线程同步 97 (p3-3): 3.3 CRT库中的多线程函数 105 (p3-4): 3.4 MFC多线程开发 106 (p3-4-1): 3.4.1线程的创建 109 (p3-4-2): 3.4.2线程同步 124 (p4): 第4章 套接字基础 124 (p4-1): 4.1套接字基本概念 125 (p4-1-1): 4.1.1网络程序的架构 126 (p4-1-2): 4.1.2套接字的类型 127 (p4-2): 4.2套接字地址 127 (p4-2-1): 4.2.1通用socket地址 128 (p4-2-2): 4.2.2专用socket地址 129 (p4-2-3): 4.2.3 IP地址的转换 131 (p4-2-4): 4.2.4主机字节序和网络字节序 133 (p4-2-5): 4.2.5 I/O工作模式和I/O模型 134 (p5): 第5章 TCP套接字编程 134 (p5-1): 5.1 TCP套接字编程的基本步骤 134 (p5-2): 5.2协议簇和地址簇 136 (p5-3): 5.3 socket地址 137 (p5-3-1): 5.3.1通用socket地址 138 (p5-3-2): 5.3.2专用socket地址 139 (p5-3-3): 5.3.3 IP地址的转换 141 (p5-3-4): 5.3.4获取套接字地址 143 (p5-4): 5.4 TCP套接字编程的相关函数 143 (p5-4-1): 5.4.1 WSAStartup函数 143 (p5-4-2): 5.4.2 socket/WSASocket函数 145 (p5-4-3): 5.4.3 bind函数 147 (p5-4-4): 5.4.4 listen函数 147 (p5-4-5): 5.4.5 accept/WSAAccept函数 148 (p5-4-6): 5.4.6 connect/WSAConnect函数 148 (p5-4-7): 5.4.7 send/ WSASend函数 148 (p5-4-8): 5.4.8 recv/ WSARecv函数 149 (p5-4-9): 5.4.9 closesocket函数 149 (p5-4-10): 5.4.10 inet_addr函数 149 (p5-4-11): 5.4.11 inet_ntoa函数 149 (p5-4-12): 5.4.12 htonl函数 150 (p5-4-13): 5.4.13 htons函数 150 (p5-4-14): 5.4.14 WSAAsyncSelect函数 151 (p5-4-15): 5.4.15 WSACleanup函数 151 (p5-5): 5.5简单的TCP套接字编程 156 (p5-6): 5.6深入理解TCP编程 156 (p5-6-1): 5.6.1数据发送和接收涉及的缓冲区 157 (p5-6-2): 5.6.2 TCP数据传输的特点 157 (p5-6-3): 5.6.3数据发送的6种情形 159 (p5-6-4): 5.6.4数据接收时碰到的情形 160 (p5-6-5): 5.6.5一次请求响应的数据接收 165 (p5-6-6): 5.6.6多次请求响应的数据接收 176 (p5-7): 5.7 I/O控制命令 180 (p5-8): 5.8套接字选项 180 (p5-8-1): 5.8.1基本概念 180 (p5-8-2): 5.8.2选项的级别 182 (p5-8-3): 5.8.3获取套接字选项 187 (p5-8-4): 5.8.4设置套接字选项 190 (p6): 第6章 UDP套接字编程 190 (p6-1): 6.1 UDP套接字编程的基本步骤 192 (p6-2): 6.2 UDP套接字编程的相关函数 192 (p6-2-1): 6.2.1 sendto/WSASendto函数 192 (p6-2-2): 6.2.2 recvfrom/WSARecvfrom函数 192 (p6-3): 6.3实战UDP套接字 199 (p6-4): 6.4 UDP丢包及无序问题 200 (p7): 第7章 原始套接字编程 200 (p7-1): 7.1原始套接字概述 200 (p7-2): 7.2原始套接字的强大功能 202 (p7-3): 7.3原始套接字的基本编程步骤 202 (p7-3-1): 7.3.1创建原始套接字函数socket 204 (p7-3-2): 7.3.2接收函数recvfrom 206 (p7-3-3): 7.3.3发送函数sendto 206 (p7-4): 7.4常规编程示例 214 (p7-5): 7.5抓取所有IP数据包 220 (p7-6): 7.6抓取所有IP数据包 227 (p8): 第8章 MFC套接字编程 227 (p8-1): 8.1概述 227 (p8-2): 8.2类CAsyncSocket 227 (p8-2-1): 8.2.1基本概念 228 (p8-2-2): 8.2.2成员函数 232 (p8-2-3): 8.2.3基本用法 234 (p8-2-4): 8.2.4网络事件处理 243 (p8-3): 8.3类CSocket 243 (p8-3-1): 8.3.1基本概念 244 (p8-3-2): 8.3.2成员函数 245 (p8-3-3): 8.3.3基本用法 250 (p8-4): 8.4基于CAsyncSocket的网络五子棋 250 (p8-4-1): 8.4.1概述 251 (p8-4-2): 8.4.2五子棋简介 251 (p8-4-3): 8.4.3软件总体架构 252 (p8-4-4): 8.4.4棋盘类——CTable 254 (p8-4-5): 8.4.5游戏模式类——CGame 256 (p8-4-6): 8.4.6消息机制 259 (p8-4-7): 8.4.7主要算法 266 (p9): 第9章 简单的网络服务器设计 266 (p9-1): 9.1循环服务器 266 (p9-1-1): 9.1.1 UDP循环服务器 267 (p9-1-2): 9.1.2 TCP循环服务器 271 (p9-2): 9.2多线程并发服务器 272 (p9-3): 9.3 I/O复用服务器 273 (p10): 第10章 基于I/O模型的网络开发 273 (p10-1): 10.1同步和异步 273 (p10-1-1): 10.1.1同步 274 (p10-1-2): 10.1.2异步 274 (p10-2): 10.2阻塞和非阻塞 274 (p10-2-1): 10.2.1阻塞 275 (p10-2-2): 10.2.2非阻塞 276 (p10-3): 10.3同步/异步和阻塞/非阻塞的关系 276 (p10-4): 10.4 I/O和网络I/O 277 (p10-5): 10.5 I/O模式 277 (p10-5-1): 10.5.1阻塞模式 278 (p10-5-2): 10.5.2非阻塞模式 278 (p10-6): 10.6 I/O模型 279 (p10-7): 10.7选择模型 279 (p10-7-1): 10.7.1基本概念 280 (p10-7-2): 10.7.2 select函数 282 (p10-7-3): 10.7.3实战select模型 288 (p10-8): 10.8异步选择模型WSAAsyncSelect 288 (p10-8-1): 10.8.1基本概念 289 (p10-8-2): 10.8.2 WSAAsyncSelect函数 291 (p10-8-3): 10.8.3实战WSAAsyncSelect模型 303 (p10-9): 10.9事件选择模型 303 (p10-9-1): 10.9.1基本概念 303 (p10-9-2): 10.9.2 WSAEventSelect函数 304 (p10-9-3): 10.9.3实战WSAEventSelect模型 309 (p10-10): 10.10重叠I/O模型 309 (p10-10-1): 10.10.1基本概念 312 (p10-10-2): 10.10.2创建重叠I/O模型下的套接字 313 (p10-10-3): 10.10.3获取重叠I/O操作完成结果 314 (p10-10-4): 10.10.4基于事件通知(有64个socket的限制) 321 (p10-10-5): 10.10.5基于完成例程 335 (p10-11): 10.11完成端口 335 (p10-11-1): 10.11.1基本概念 336 (p10-11-2): 10.11.2完成端口能干什么 336 (p10-11-3): 10.11.3完成端口的优势 337 (p10-11-4): 10.11.4完成端口编程的基本流程 338 (p10-11-5): 10.11.5相关API 348 (p11): 第11章 网络性能工具iperf的使用 348 (p11-1): 11.1 iperf概述 348 (p11-2): 11.2 iperf的特点 348 (p11-3): 11.3 iperf的工作原理 350 (p11-4): 11.4 iperf的主要功能 350 (p11-5): 11.5 iperf中Linux下的使用 351 (p11-5-1): 11.5.1在Linux下安装iperf 352 (p11-5-2): 11.5.2 iperf的简单使用 353 (p11-6): 11.6 iperf中Windows下的使用 353 (p11-6-1): 11.6.1命令行版本 353 (p11-6-2): 11.6.2图形化版本 355 (p12): 第12章 Winlnet开发Internet客户端 355 (p12-1): 12.1什么是WinInet 355 (p12-2): 12.2认识WinInet API函数 356 (p12-2-1): 12.2.1通用WinInet API函数 361 (p12-2-2): 12.2.2 WinInet HTTP函数 363 (p12-2-3): 12.2.3 WinInet FTP函数 364 (p12-2-4): 12.2.4 WinInet Gopher函数 364 (p12-2-5): 12.2.5读取HTTP网页数据 366 (p12-3): 12.3认识MFC WinInet类库 367 (p12-3-1): 12.3.1访问HTTP服务器的一般流程 368 (p12-3-2): 12.3.2访问FTP服务器的流程 369 (p12-4): 12.4 FTP开发 369 (p12-4-1): 12.4.1 FTP概述 370 (p12-4-2): 12.4.2 FTP的工作原理 371 (p12-4-3): 12.4.3 FTP的传输方式 371 (p12-4-4): 12.4.4 FTP的工作方式 372 (p12-4-5): 12.4.5 FTP命令 375 (p12-4-6): 12.4.6 FTP应答码 377 (p12-4-7): 12.4.7开发FTP客户端 390 (p13): 第13章 HTTP网络编程 390 (p13-1): 13.1 HTTP简介 390 (p13-2): 13.2 HTTP的工作原理 391 (p13-3): 13.3 HTTP的特点 391 (p13-4): 13.4 HTTP的消息结构 392 (p13-5): 13.5客户端请求消息 393 (p13-6): 13.6服务器响应消息 394 (p13-7): 13.7 HTTP状态码 394 (p13-8): 13.8 HTTP状态码分类 395 (p13-9): 13.9实现HTTP服务器 395 (p13-9-1): 13.9.1概述 395 (p13-9-2): 13.9.2界面设计 396 (p13-9-3): 13.9.3类CWebServerApp 396 (p13-9-4): 13.9.4类CWebServerDlg 397 (p13-9-5): 13.9.5类CLog 398 (p13-9-6): 13.9.6类CGenericServer 404 (p13-9-7): 13.9.7类CHTTPServer 409 (p13-9-8): 13.9.8运行结果 411 (p14): 第14章 C++ Web编程 411 (p14-1): 14.1 CGI程序的工作方式 412 (p14-2): 14.2架设Web服务器Apache 415 (p14-3): 14.3 ActiveX、OLE和COM 415 (p14-4): 14.4什么是OCX 416 (p14-5): 14.5 ActiveX 416 (p14-6): 14.6 ActiveX控件 416 (p14-6-1): 14.6.1生成和注册ActiveX控件 420 (p14-6-2): 14.6.2在网页html中使用ActiveX控件 422 (p14-6-3): 14.6.3在MFC应用程序中使用ActiveX控件 424 (p14-6-4): 14.6.4在测试容器中使用(测试)ActiveX控件 426 (p14-6-5): 14.6.5在网页的JavaScript中使用控件 428 (p14-7): 14.7为ActiveX控件添加对话框 432 (p14-8): 14.8为ActiveX控件添加事件 432 (p14-8-1): 14.8.1常用事件 434 (p14-8-2): 14.8.2自定义事件 438 (p14-9): 14.9为ActiveX控件添加方法 438 (p14-9-1): 14.9.1常用方法 439 (p14-9-2): 14.9.2自定义方法 441 (p15): 第15章 中国象棋网上对弈系统 441 (p15-1): 15.1电脑游戏概述 442 (p15-2): 15.2系统概述 443 (p15-3): 15.3系统运行结果 443 (p15-4): 15.4系统构成 443 (p15-5): 15.5数据结构 443 (p15-5-1): 15.5.1棋盘 445 (p15-5-2): 15.5.2棋子信息数组 445 (p15-5-3): 15.5.3变量与函数 446 (p15-6): 15.6图像绘制 446 (p15-6-1): 15.6.1主窗口 447 (p15-6-2): 15.6.2棋盘的绘制 447 (p15-6-3): 15.6.3棋子的绘制及初始化 448 (p15-6-4): 15.6.4动态显示 449 (p15-6-5): 15.6.5回看功能 449 (p15-7): 15.7规则设置 449 (p15-7-1): 15.7.1棋子规则 450 (p15-7-2): 15.7.2规则算法 451 (p15-8): 15.8网络通信 451 (p15-8-1): 15.8.1 CCOM类 452 (p15-8-2): 15.8.2数据代码 453 (p15-8-3): 15.8.3数据更新 453 (p15-8-4): 15.8.4聊天功能 453 (p15-9): 15.9棋子操作 453 (p15-9-1): 15.9.1获取点击 454 (p15-9-2): 15.9.2走棋判断 455 (p15-9-3): 15.9.3光标变化 455 (p15-10): 15.10主框架重要函数解析 455 (p15-10-1): 15.10.1 WinMain函数 456 (p15-10-2): 15.10.2 InitInstance函数 457 (p15-11): 15.11通信函数解析 457 (p15-11-1): 15.11.1 Listen函数 458 (p15-11-2): 15.11.2 ListenThread函数 460 (p15-11-3): 15.11.3 SendMsg函数 461 (p15-12): 15.12象棋业务逻辑重要函数解析 461 (p15-12-1): 15.12.1 Graphics函数 462 (p15-12-2): 15.12.2 Draw函数 463 (p15-12-3): 15.12.3 InitChessBoard函数 464 (p15-12-4): 15.12.4 ChessRule函数 474 (p16): 第16章 WinPcap编程 474 (p16-1): 16.1什么是WinPcap 474 (p16-2): 16.2 WinPcap的历史 475 (p16-3): 16.3 WinPcap的功能 475 (p16-4): 16.4 WinPcap的应用领域 476 (p16-5): 16.5 WinPcap不能做什么 476 (p16-6): 16.6 WinPcap组成结构 477 (p16-7): 16.7 WinPcap内核层NPF 478 (p16-8): 16.8 WinPcap的数据结构和主要功能函数 478 (p16-8-1): 16.8.1网络接口的地址 479 (p16-8-2): 16.8.2数据包头的格式 479 (p16-8-3): 16.8.3 pcap文件格式 480 (p16-8-4): 16.8.4获得网卡列表pcap_findalldevs 481 (p16-8-5): 16.8.5释放空间函数pcap_freealldevs 481 (p16-8-6): 16.8.6打开网络设备函数pcap_open_live 482 (p16-8-7): 16.8.7捕获数据包pcap_loop 483 (p16-8-8): 16.8.8捕获数据包pcap_dispatch 483 (p16-8-9): 16.8.9捕获数据包pcap_next_ex 484 (p16-9): 16.9搭建WinPcap的开发环境 484 (p16-9-1): 16.9.1 WinPcap通信库的安装 486 (p16-9-2): 16.9.2准备开发包 487 (p16-9-3): 16.9.3第一个WinPcap应用程序 488 (p16-9-4): 16.9.4捕获访问Web站点的网络包 494 (p17): 第17章 ICE网络编程 494 (p17-1): 17.1 ICE简介 494 (p17-2): 17.2 ICE的优势 495 (p17-3): 17.3 ICE的工作原理 495 (p17-4): 17.4 ICE调用模式 496 (p17-5): 17.5客户端与服务器端的结构 496 (p17-6): 17.6 ICE的下载、安装和配置 496 (p17-6-1): 17.6.1下载ICE 497 (p17-6-2): 17.6.2安装ICE 498 (p17-6-3): 17.6.3安装第三方库 499 (p17-6-4): 17.6.4配置ICE环境变量 500 (p17-7): 17.7 ICE的使用 501 (p18): 第18章 IPv6网络编程 501 (p18-1): 18.1 IPv4的现状和不足 502 (p18-1-1): 18.1.1地址空间、地址方案与选路的问题 505 (p18-1-2): 18.1.2网络管理与配置的问题 507 (p18-1-3): 18.1.3服务类型问题 507 (p18-1-4): 18.1.4 IP选项的问题 508 (p18-1-5): 18.1.5 IPv4安全性问题 508 (p18-2): 18.2是增加补丁还是彻底升级改进 509 (p18-3): 18.3 IPv6的概念 509 (p18-4): 18.4 IPv6的发展历史 511 (p18-5): 18.5 IPv6的特点 511 (p18-6): 18.6 IPv6地址 511 (p18-6-1): 18.6.1 IPv6地址表示方法 513 (p18-6-2): 18.6.2 IPv6前缀 513 (p18-6-3): 18.6.3 IPv6地址的类型 517 (p18-7): 18.7 IPv6数据报格式 522 (p18-8): 18.8基于IPv6的Socket网络编程技术 522 (p18-8-1): 18.8.1地址表示 523 (p18-8-2): 18.8.2 IPv6的Socket API函数 524 (p18-8-3): 18.8.3 IPv6下编写应用程序的注意点 524 (p18-8-4): 18.8.4实战IPv6 封面 扉页 内容简介 版权页 前言 目录 第1章 TCP/IP协议基础 1.1 什么是TCP/IP 1.2 TCP/IP协议的分层结构 1.3 应用层 1.4 传输层 1.5 网络层 1.6 数据链路层 1.7 一些容易混淆的术语 第2章 本机网络信息编程 2.1 获取本地计算机的名称和IP 2.2 获取本机子网IP地址和子网掩码 2.3 获取本机物理网卡地址信息 2.4 获取本机所有网卡(包括虚拟网卡)的列表和信息 2.5 获取本地计算机的IP协议统计数据 2.6 获取本机的DNS地址 2.7 获取本机上的TCP统计数据 2.8 获取本机上的UDP统计数据 2.9 获取本机上支持的网络协议信息 2.10 获取本地计算机的域名 第3章 多线程编程 3.1 多线程编程的基本概念 3.2 利用Win32 API函数进行多线程开发 3.3 CRT库中的多线程函数 3.4 MFC多线程开发 第4章 套接字基础 4.1 套接字基本概念 4.2 套接字地址 第5章 TCP套接字编程 5.1 TCP套接字编程的基本步骤 5.2 协议簇和地址簇 5.3 socket地址 5.4 TCP套接字编程的相关函数 5.5 简单的TCP套接字编程 5.6 深入理解TCP编程 5.7 I/O控制命令 5.8 套接字选项 第6章 UDP套接字编程 6.1 UDP套接字编程的基本步骤 6.2 UDP套接字编程的相关函数 6.3 实战UDP套接字 6.4 UDP丢包及无序问题 第7章 原始套接字编程 7.1 原始套接字概述 7.2 原始套接字的强大功能 7.3 原始套接字的基本编程步骤 7.4 常规编程示例 7.5 抓取所有IP数据包 7.6 抓取所有IP数据包 第8章 MFC套接字编程 8.1 概述 8.2 类CAsyncSocket 8.3 类CSocket 8.4 基于CAsyncSocket的网络五子棋 第9章 简单的网络服务器设计 9.1 循环服务器 9.2 多线程并发服务器 9.3 I/O复用服务器 第10章 基于I/O模型的网络开发 10.1 同步和异步 10.2 阻塞和非阻塞 10.3 同步/异步和阻塞/非阻塞的关系 10.4 I/O和网络I/O 10.5 I/O模式 10.6 I/O模型 10.7 选择模型 10.8 异步选择模型WSAAsyncSelect 10.9 事件选择模型 10.10 重叠I/O模型 10.11 完成端口 第11章 网络性能工具iperf的使用 11.1 iperf概述 11.2 iperf的特点 11.3 iperf的工作原理 11.4 iperf的主要功能 11.5 iperf中Linux下的使用 11.6 iperf 中Windows下的使用 第12章 WinInet开发Internet客户端 12.1 什么是WinInet 12.2 认识WinInet API函数 12.3 认识MFC WinInet 类库 12.4 FTP开发 第13章 HTTP网络编程 13.1 HTTP简介 13.2 HTTP的工作原理 13.3 HTTP的特点 13.4 HTTP的消息结构 13.5 客户端请求消息 13.6 服务器响应消息 13.7 HTTP状态码 13.8 HTTP状态码分类 13.9 实现HTTP服务器 第14章 C++ Web编程 14.1 CGI程序的工作方式 14.2 架设Web服务器Apache 14.3 ActiveX、OLE和COM 14.4 什么是OCX 14.5 ActiveX 14.6 ActiveX控件 14.7 为ActiveX控件添加对话框 14.8 为ActiveX控件添加事件 14.9 为ActiveX控件添加方法 第15章 中国象棋网上对弈系统 15.1 电脑游戏概述 15.2 系统概述 15.3 系统运行结果 15.4 系统构成 15.5 数据结构 15.6 图像绘制 15.7 规则设置 15.8 网络通信 15.9 棋子操作 15.10 主框架重要函数解析 15.11 通信函数解析 15.12 象棋业务逻辑重要函数解析 第16章 WinPcap编程 16.1 什么是WinPcap 16.2 WinPcap的历史 16.3 WinPcap的功能 16.4 WinPcap的应用领域 16.5 WinPcap不能做什么 16.6 WinPcap组成结构 16.7 WinPcap内核层NPF 16.8 WinPcap的数据结构和主要功能函数 16.9 搭建WinPcap的开发环境 第17章 ICE网络编程 17.1 ICE简介 17.2 ICE的优势 17.3 ICE的工作原理 17.4 ICE调用模式 17.5 客户端与服务器端的结构 17.6 ICE的下载、安装和配置 17.7 ICE的使用 第18章 IPv6网络编程 18.1 IPv4的现状和不足 18.2 是增加补丁还是彻底升级改进 18.3 IPv6的概念 18.4 IPv6的发展历史 18.5 IPv6的特点 18.6 IPv6地址 18.7 IPv6数据报格式 18.8 基于IPv6的Socket网络编程技术 正文结束 本书从初学者的角度出发, 以通俗易懂的语言, 配合丰富多彩的实例, 详细地介绍了使用Visual C 2017进行网络编程应该掌握的各方面知识, 以及网络编程的常见场景和较难技术, 快速提高开发技能.全书共分18章, 内容包括TCPIP协议,本机网络信息编程,多线程编程,套接字编程,简单网络服务器设计,基于10模型的网络开发,网络性能工具iperf的使用,Winet开浏览例,HTTP编程,Web编程,中国象棋网络对弈实例,winpcap编程,ICE网络编程和IPv6网络编程
دانلود کتاب Visual C++ 2017网络编程实战