图书介绍

Windows Sockets网络编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Windows Sockets网络编程
  • (美)BobQuinn,DaveShute著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111392743
  • 出版时间:2012
  • 标注页数:424页
  • 文件大小:26MB
  • 文件页数:441页
  • 主题词:Windows操作系统-应用软件-网络软件-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Windows Sockets网络编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Windows Sockets概述1

1.1什么是Windows Sockets2

1.2 Windows Sockets的发展历史3

1.3 Windows Sockets的优势4

1.3.1 Windows Sockets是一个开放的标准4

1.3.2 Windows Sockets提供源代码可移植性4

1.3.3 Windows Sockets支持动态链接5

1.3.4 Windows Sockets的优点6

1.4 Windows Sockets的前景7

1.5结论7

第2章 Windows Sockets的概念9

2.1 OSI网络模型9

2.2 WinSock网络模型11

2.2.1信息与数据12

2.2.2应用协议12

2.3 WinSock中的OSI层次12

2.3.1应用层13

2.3.2表示层14

2.3.3会话层14

2.3.4传输层15

2.3.5网络层16

2.3.6数据链路层17

2.3.7物理层17

2.4模块化的层次框18

2.5服务和协议19

2.6协议和API21

第3章 TCP/IP协议服务23

3.1什么是TCP/IP23

3.2 TCP/IP的发展历史25

3.3传输服务26

3.3.1无连接的服务:UDP26

3.3.2面向连接的服务:TCP28

3.3.3传输协议的选择:UDP与TCP的对比29

3.4网络服务30

3.4.1 IP服务30

3.4.2 ICMP服务31

3.5支持协议和服务32

3.5.1域名服务32

3.5.2地址解析协议33

3.5.3其他支持协议33

3.6 TCP/IP的发展前景34

第4章 网络应用程序工作机制35

4.1客户端-服务器模型35

4.2网络程序概览37

4.3 socket的打开37

4.4 socket的命名39

4.4.1 sockaddr结构40

4.4.2 sockaddr_in结构40

4.4.3端口号41

4.4.4本地IP地址41

4.4.5什么是socket名称42

4.4.6客户端socket名称是可选的42

4.5与另一个socket建立关联43

4.5.1服务器如何准备建立关联44

4.5.2客户端如何发起一个关联45

4.5.3服务器如何完成一个关联47

4.6 socket之间的发送与接收48

4.6.1在“已连接的”socket上发送数据48

4.6.2在“无连接的”socket上发送数据49

4.6.3接收数据50

4.6.4 socket解复用器中的关联51

4.7 socket的关闭52

4.7.1 closesocket()52

4.7.2 shutdown()53

4.8客户端和服务器概览54

第5章 操作模式56

5.1什么是操作模式57

5.1.1不挂机,等待:阻塞57

5.1.2挂机后再拨:非阻塞57

5.1.3请求对方回拨:异步58

5.2阻塞模式58

5.2.1阻塞socket58

5.2.2阻塞函数59

5.2.3伪阻塞的问题59

5.2.4阻塞钩子函数60

5.2.5阻塞情境61

5.2.6撤销阻塞操作62

5.2.7阻塞操作中的超时64

5.2.8无最少接收限制值65

5.2.9代码示例65

5.3非阻塞模式67

5.3.1怎样使socket成为非阻塞的68

5.3.2成功与失败不是绝对的68

5.3.3探询而非阻塞69

5.3.4显式地避让69

5.3.5代码示例70

5.4异步模式72

5.4.1认识异步函数73

5.4.2撤销异步操作74

5.4.3代码示例74

5.4.4 AU_ime应用76

5.5性能比较85

5.6平台比较86

5.7真正的阻塞86

5.7.1线程化的应用程序86

5.7.2其他适用性说明87

第6章 socket状态88

6.1什么是socket状态88

6.1.1数据报socket的状态89

6.1.2流socket的状态90

6.2 socket状态的检测方法91

6.2.1根据函数调用的成功或失败检测92

6.2.2同步检测93

6.2.3异步检测93

6.3 WSAAsyncSelect()93

6.3.1 WSAAsyncSelect()的工作原理94

6.3.2什么是WSAAsyncSelect ()事件96

6.3.3避免机会丢失的窗口96

6.3.4什么是重使能函数97

6.3.5什么是通知消息98

6.3.6为函数失败做好准备98

6.3.7在响应时设置循环99

6.3.8撤销异步通知99

6.3.9事件描述99

6.3.10 AS_ Echo应用程序102

6.4 select()115

6.4.1怎样使用select()116

6.4.2 select()的宏117

6.4.3 select()的输入参数118

6.4.4不要把select()作为定时器120

6.4.5注意0超时120

6.4.6代码示例120

6.5查看数据122

6.5.1 ioctlsocket() FIONREAD命令122

6.5.2带有MSG PEEK标志的recv ()122

6.6带外数据123

6.6.1 TCP的局限124

6.6.2 ioctlsocket()函数和SIOCATMARK命令125

6.6.3代码示例125

6.7监听状态126

第7章 应用程序和函数实例库127

7.1 FTP客户端实例127

7.1.1文件传输协议概述128

7.1.2 FTP有限状态机130

7.1.3 AC_FTP应用程序132

7.1.4操作中的AC_FTP168

7.2函数实例库169

7.2.1 CenterWnd()170

7.2.2 CloseConn ()171

7.2.3 CreateLelFile()172

7.2.4 Dlg_About()173

7.2.5 GetAddr()174

7.2.6 GetBuf ()175

7.2.7 GetHostID()176

7.2.8 GetLcIDir()177

7.2.9 GetPort ()179

7.2.10 WSAErrStr()179

7.2.11 WSAperror()180

7.3 WinSockx.h182

7.3.1 Globals.c183

7.3.2 WSA_ Xtra.h184

第8章 主机名称与主机地址187

8.1主机名称与主机地址解析187

8.1.1 hostent结构188

8.1.2主机名称解析189

8.1.3地址解析195

8.2主机表、域名系统和网络信息服务198

8.2.1主机表198

8.2.2域名系统198

8.2.3网络信息服务199

8.3本地主机信息200

8.4网络地址与格式化201

8.4.1 in addr结构201

8.4.2 inet addr()202

8.4.3 inet ntoa()203

8.5协议族与地址族204

第9章 socket信息与控制205

9.1 socket控制205

9.1.1 FIONBIO206

9.1.2 FIONREAD207

9.1.3 SIOCATMARK208

9.1.4其他控制命令208

9.2 socket选项209

9.2.1 getsockopt()与setsockopt()209

9.2.2 SO_ ACCEPTCONN211

9.2.3 SO_ BROADCAST211

9.2.4 SO DEBUG212

9.2.5 SO_ DONTLINGER213

9.2.6 SO_ DONTROUTE213

9.2.7 SO_ ERROR214

9.2.8 SO_KEEPALIVE214

9.2.9 SO_LINGER216

9.2.10 SO_ OOBINLINE218

9.2.11 SO RCVBUF与SO_SNDBUF218

9.2.12 SO_REUSEADDR219

9.2.13 SO TYPE219

9.2.14 TCP_NODELAY220

9.2.15 不支持的选项221

9.2.16未来会使用的选项222

9.3阻塞钩子222

9.3.1 WSASetBlockingHook()222

9.3.2 WSAUnhookBlockingHook()223

9.3.3阻塞钩子函数223

9.3.4阻塞状态224

9.4 socket名称224

9.4.1 getsockname()225

9.4.2 getpeernaame ()226

第10章 支持例程228

10.1启动与清除228

10.1.1 WSAStartup()228

10.1.2 WSACleanup()234

10.2字节顺序234

10.3服务名称与端口号236

10.3.1 servent结构236

10.3.2服务解析237

10.3.3端口解析240

10.3.4服务数据库241

10.4协议名称与协议号242

10.4.1 protoent结构243

10.4.2协议名称解析243

10.4.3协议号解析247

10.4.4协议数据库247

10.5报错248

10.5.1 WSAGetLastError()248

10.5.2 WSASetLastError()249

10.5.3错误文本显示249

第11章 WinSock上的DLL250

11.1创建一个新的API250

11.1.1仿真的API251

11.1.2应用协议API252

11.1.3封装的WinSock API252

11.2 DLL的问题253

11.2.1重入254

11.2.2任务管理255

11.2.3与WinSock DLL的链接256

11.3 DLL实例256

11.3.1 WSASimpl应用程序257

11.3.2 WSASimpl DLL258

第12章 移植BSD Sockets272

12.1 Windows Sockets与Berkeley Sockets的差异272

12.1.1 socket不是文件句柄273

12.1.2 signal()不可用274

12.1.3域名不可用275

12.1.4地址信息和操作不可用275

12.1.5 syslog()不可用276

12.1.6变量errno不可用276

12.1.7 perror()和strerror()不可用276

12.1.8数据库文件操作不可用276

12.1.9 bcmp()、bcopy()和bzero ()不可用276

12.1.10本地IPC不可用277

12.1.11 OOB API不同277

12.1.12 setsockopt()SO_ DEBUG是可选的277

12.2 16位Windows的局限性277

12.2.1 16位Windows不清理现场277

12.2.2 16位Windows是非抢占式的278

12.2.3 16位Windows文件系统不安全278

12.2.4 16位Windows使用分段寻址279

12.2.5 fork()不可用279

12.3移植Berkeley Sockets的其他事项279

12.3.1包含文件279

12.3.2 socket域279

12.3.3 socket类型279

12.3.4 socket句柄280

12.3.5错误值280

12.4函数列表280

第13章 调试284

13.1问题类型284

13.1.1安装问题285

13.1.2网络问题285

13.1.3程序问题285

13.1.4 WinSock DLL问题285

13.2故障表现及其定位286

13.3问题评估286

13.4安装调试287

13.5网络调试287

13.5.1通用网络调试288

13.5.2主机解析调试289

13.6应用程序调试289

13.7调试工具290

13.7.1网络调试工具290

13.7.2应用程序调试工具295

13.7.3 WinSock符合性和性能测试工具297

13.7.4其他调试工具297

第14章 该做和不该做的299

14.1特征化应用程序299

14.2应用程序数据流300

14.2.1增大缓存301

14.2.2 MTU的考虑301

14.2.3健壮性原则302

14.2.4避免查看303

14.2.5先接收后发送303

14.3流算法303

14.3.1发送结构化数据303

14.3.2发送交互数据305

14.3.3检测无效连接306

14.3.4验证数据传输306

14.4数据报算法307

14.4.1实现超时机制308

14.4.2数据报排序308

14.4.3有节制地发送数据308

14.4.4同步发送方和接收方309

14.5好消息准则309

14.5.1检查返回值309

14.5.2检测部分成功310

14.5.3准备应对任何阶段出现的任何错误310

14.5.4检测非致命错误310

14.5.5恰当地处理错误311

14.5.6对用户透明311

14.5.7留好出口311

14.5.8不忽视任何警告信息311

14.6常见陷阱和缺陷312

14.6.1打开和命名socket312

14.6.2建立连接313

14.6.3监听和同意建立连接313

14.6.4发送和接收314

14.6.5关闭socket315

14.6.6使用主机名称和地址316

14.6.7使用WSAAsyncSelect()函数316

14.6.8使用阻塞socket317

14.6.9退出某个应用程序319

14.6.10其他注意事项320

第15章 系统平台322

15.1 WOSA网络模型322

15.2 32位WinSock323

15.2.1 Windows 95324

15.2.2交叉执行324

15.2.3 32位WinSock特征324

15.2.4 32位操作系统优势328

15.3其他系统平台329

第16章 可选特性330

16.1自相矛盾的可选标准330

16.2应该使用可选特性吗331

16.3原始socket332

16.3.1 ICMP ping应用332

16.3.2 IP_TTL路径跟踪337

16.4多播338

16.4.1为何使用多播338

16.4.2多播API339

16.4.3多播机制341

16.5环回接口345

16.6共享socket345

16.7可选项346

16.8 socket作为文件句柄346

16.9在任何时候都准备好应对任何错误347

16.10其他可选特性347

第17章 WinSock 2348

17.1你需要WinSock 2吗349

17.2特性概述349

17.3多协议支持351

17.3.1 WinSock 2架构351

17.3.2协议独立352

17.3.3名称空间独立353

17.4重叠I/O356

17.5分散和聚合358

17.6服务质量358

17.7 socket组360

17.8多点和多播361

17.9有条件的接受362

17.10连接和断开数据363

17.11 socket共享364

17.12协议相关的附加功能364

17.12.1 WSAIoctl()365

17.12.2 get/setsockopt()365

附录A TCP/IP协议首部366

A.1 TCP/IP报文中的分层366

A.2 ARP首部367

A.3 IP首部368

A.4 ICMP首部369

A.5 IGMP首部370

A.6 TCP首部371

A.7 UDP首部372

A.8 对话示例373

附录B 快速参考380

B.1结构380

B.2函数384

B.3宏391

附录C错误信息参考398

C.1获取错误值的位置398

C.2可能出现的错误399

C.3用户可以解决的错误400

C.4详细的错误描述400

C.5按数值排序的错误代码表419

附录D用户必备421

D.1重要文件421

D.2编译与链接机制422

D.3各种WinSock的使用423

D.4各种编程语言的使用424

热门推荐