|
Java电子书:UNIX网络编程 卷1 套接字联网API 第3版 格式 pdf 电子书 PDF 电子书 Java吧 java8.com) K5 r+ p! j) u# t9 v& Z7 {
- V( @5 _/ T, g/ O2 P: V2 c+ K2 b) ]) t; R! f5 i' D1 q% E
编号:mudaima-P0313【Java吧 java8.com】" E4 j* _5 x2 x# }- V% @5 X% O
" C& M, a* y7 Q6 T
" }8 ?0 S6 l2 ^% O: m: [$ H* N6 C( D# t% {
Java电子书目录:第 一部分 简介和TCP IP
; N) r$ }& R! ?: m6 q第 1章 简介 2
$ U* ~; d3 y; W1.1 概述 2
' |# d: M, l0 p: O1.2 一个简单的时间获取客户程序 5" N6 d" ^, J7 `- y5 C: R& n$ q8 X
1.3 协议无关性 9/ p# i+ L& z+ L& ]
1.4 错误处理:包裹函数 10
8 [; Y! V3 Q8 d, F( m1.5 一个简单的时间获取服务器程序 12
+ ?$ J0 g) R* H8 l4 O1.6 本书中客户 服务器程序示例索引表 14+ F- R. J( n0 Q3 Y3 Y' r) z: F
1.7 OSI模型 16
1 R$ w" M4 K5 R( N1.8 BSD网络支持历史 17
8 F; P& S8 \: a3 q+ A% ?6 y( \1.9 测试用网络及主机 19
/ O ]6 C5 }) j& D7 E. ^1.10 Unix标准 22
! U, p' t4 b- O/ B+ ]7 b" O1.11 64位体系结构 24' q/ `5 S5 f5 d, i& Y! X& H
1.12 小结 255 J' Q: q6 f7 R1 q* x" @3 t
习题 251 P" }: C+ R8 s) G
第 2章 传输层:TCP、UDP和SCTP 27
2 ~8 K5 V+ l2 T. U5 y3 ^( w2.1 概述 27. h" c5 L6 A& W- \0 d
2.2 总图 27
0 Q& T; ^+ f! W4 S( ^, q- U2.3 用户数据报协议(UDP) 29! y* U1 m$ r: ?" y. K; A
2.4 传输控制协议(TCP) 305 O1 n) _: M- Q, Z$ U
2.5 流控制传输协议(SCTP) 31# E0 m" Z9 \; z! p( B) S, g
2.6 TCP连接的建立和终止 31
# m2 U! e9 |% [$ w- R2.7 TIME_WAIT状态 37
1 D, ~, v; V+ r* @. C; p" m2.8 SCTP关联的建立和终止 38( t* v3 g- u I. i
2.9 端口号 425 ~1 _0 ~: B; x+ k( T+ l
2.10 TCP端口号与并发服务器 43* @! H. s* p+ ?$ e" D0 r) ?, L
2.11 缓冲区大小及限制 455 f/ g+ d1 c) [( v- n& J7 ~! u
2.12 标准因特网服务 50% p, g! r/ Y( N! ^6 X% s B- G4 b# l
2.13 常见因特网应用的协议使用 51# q4 j; l( |, e4 S
2.14 小结 52
0 m- H& i# l9 |% y1 y7 E习题 53
9 J0 x6 _9 q* r1 O! H* ?2 I第二部分 基本套接字编程6 V) c4 L/ t% {+ t2 \
第3章 套接字编程简介 56
3 B6 `4 {, c7 J/ ^; U5 x3.1 概述 56. i) g9 T; z" @ |2 s5 ^
3.2 套接字地址结构 56
+ q& u* [+ O9 l3.3 值—结果参数 61
' A c$ O" Q" r; Q: m3.4 字节排序函数 63
* B- f+ g6 g' I3.5 字节操纵函数 66
+ ~, ~, B) O6 \/ T2 }- @3.6 inet_aton、inet_addr和inet_ntoa函数 67
& H( p0 b! v/ I3.7 inet_pton和inet_ntop函数 68
7 V/ j$ o6 q" W; ?3.8 sock_ntop和相关函数 70
5 l2 u$ T7 z' R+ W; [3.9 readn、writen和readline函数 72
' V) C1 u1 ]8 _$ f$ ^! |7 r/ [6 W3.10 小结 76" U9 m# D n0 w a6 {5 X
习题 76
2 i* I( }; L( D4 y4 U第4章 基本TCP套接字编程 772 G3 f( y6 j7 D1 b1 `
4.1 概述 77* s1 _% Z: N2 ~/ _
4.2 socket函数 779 K( T7 d. P% _0 z" ^: j" w% @
4.3 connect函数 80
) y- n- ~$ j, T* B C4.4 bind函数 81' T4 B/ a7 g [
4.5 listen函数 84
! n4 `1 c. U$ g7 f2 Q6 S- Z' g8 s- |4.6 accept函数 88
( f [# z! U6 C$ x6 P5 m6 K# j4.7 fork和exec函数 90
( ^9 n5 ?5 k2 ~7 m$ J. c# q4.8 并发服务器 91
! L! q/ \' W% }5 M. b4.9 close函数 93# Y/ h7 s* v. ^$ ]& e% M7 q
4.10 getsockname和getpeername函数 94
! j$ y1 W5 j$ k+ S+ C5 N) E2 Q4.11 小结 96% f, h# T0 _, z' v
习题 96
) t" m( [- L& Q0 p1 n7 I第5章 TCP客户 服务器程序示例 978 N& B+ Y0 l$ [4 Z; I1 Z
5.1 概述 97
& e M: ^# t/ L; y3 v: J5.2 TCP回射服务器程序:main函数 97$ d( Y/ c: K- }/ U9 V) }- |, _4 [) h- Q
5.3 TCP回射服务器程序:str_echo函数 98
% r( i B8 {/ Z' F5.4 TCP回射客户程序:main函数 99+ w( A R7 V" I7 ^$ W
5.5 TCP回射客户程序:str_cli函数 100% ~3 V4 p2 t! C# J% a4 Q
5.6 正常启动 101
& M# R1 `; k8 z' p5.7 正常终止 102% E# ^( z6 u0 [+ S# g' R2 o! `
5.8 POSIX信号处理 103: i9 |) ~$ P! d% G" t3 r
5.9 处理SIGCHLD信号 106( |$ [7 b( t6 E$ T4 M
5.10 wait和waitpid函数 108# ]+ S: u/ @ X8 \+ Q
5.11 accept返回前连接中止 111: ~2 }' |, a( y' {! s
5.12 服务器进程终止 112: m+ Q3 ?+ B$ I
5.13 SIGPIPE信号 113
: b' f) T3 T% d# h$ d5.14 服务器主机崩溃 114+ } l# p# F1 Q& q
5.15 服务器主机崩溃后重启 1156 S* w8 X: I o. k
5.16 服务器主机关机 116! j( ]$ l! T7 h1 D8 z& d |+ }
5.17 TCP程序例子小结 116
8 a4 T% R& x# Q X$ }. H8 {5.18 数据格式 117* q( c1 j. G: K% ]
5.19 小结 120
- R8 l ?6 e) R3 q' j习题 120: U. B$ G2 t1 n) o$ A
第6章 I O复用:select和poll函数 122
$ ~1 e/ k, N2 B2 {6.1 概述 122
. w# b' W1 C" i u9 q+ B6.2 I O模型 122
" m* z4 ^% R- S7 _; X6.3 select函数 127
: T# p# P8 K6 W+ _8 c6.4 str_cli函数(修订版) 132
3 j# b/ U' {( p8 z6.5 批量输入 133+ R( j" ]. f4 C1 t+ i, u% N
6.6 shutdown函数 136. @1 X* K: }5 Y
6.7 str_cli函数(再修订版) 1370 D1 E& \: x: h: h! V1 Z
6.8 TCP回射服务器程序(修订版) 1384 U" x5 a* o4 f; q
6.9 pselect函数 142
; o$ V$ ~0 {+ j6 g7 |6.10 poll函数 144
& c: B- B: ^) E- o6.11 TCP回射服务器程序(再修订版) 146
; f, I: ~+ h1 s6 |6.12 小结 148$ a& _; d% e+ L6 `' ^: C! J7 V2 A
习题 149$ `: s2 L5 m; p6 h
第7章 套接字选项 150
# ~2 F4 [# p7 `7.1 概述 150
! Z4 k6 c; W) b3 ?7.2 getsockopt和setsockopt函数 150
& n3 `4 Q4 d" b: _7.3 检查选项是否受支持并获取默认值 152% z m' p5 I$ d6 g) l9 G& p( G
7.4 套接字状态 156
3 Y1 _; @/ X: B* J8 @& Z; }7.5 通用套接字选项 156
8 G8 @" m+ P' j# f+ ~4 S, t7.6 IPv4套接字选项 168
6 U9 @- `9 b/ e, r4 C7 x* m! c- w; _7.7 ICMPv6套接字选项 169
# I* a+ f z# y9 _0 G y7.8 IPv6套接字选项 1692 K) l4 ^5 h$ N6 V3 _8 e& M q
7.9 TCP套接字选项 1717 G: o9 t2 q) }/ S( Y1 X+ k: {& B1 P
7.10 SCTP套接字选项 173
0 Z s8 A7 M9 g3 l, r- o1 T- B7.11 fcntl函数 182
) F! O% F/ ^5 M) X* I6 u7.12 小结 184; N/ g5 b0 n, @: s x8 ~
习题 184
( k+ i* h3 J9 a- _' @5 B第8章 基本UDP套接字编程 1868 X5 l2 U: A. N y0 H8 a3 X) @: k
8.1 概述 186
& P+ |; [( [6 P5 q) t) v) u0 H/ p8.2 recvfrom和sendto函数 187
; {" G5 J! I2 F3 s8.3 UDP回射服务器程序:main函数 187
0 \8 {8 Q( I! W& M, S8.4 UDP回射服务器程序:dg_echo函数 188
) E! y- t5 S, R0 T5 l. N. K8.5 UDP回射客户程序:main函数 190- N/ j/ S5 C% {6 N2 d
8.6 UDP回射客户程序:dg_cli函数 190
% X: c/ m9 E5 s" X* p- Z F5 S8.7 数据报的丢失 1917 J- k5 k! d$ b9 m8 d
8.8 验证接收到的响应 191
* H! t6 y- a6 M8 K4 F8.9 服务器进程未运行 193
8 h5 f% P6 r7 p! H5 n8.10 UDP程序例子小结 194
! d( ]: C4 u! C3 ?8.11 UDP的connect函数 196
$ d' D- r# S7 O: G% F. O4 o$ n- I7 y8.12 dg_cli函数(修订版) 1992 Z! h/ L+ M/ X) k$ U
8.13 UDP缺乏流量控制 200
5 l+ w% _, T# m+ M9 g* \6 d( b8.14 UDP中的外出接口的确定 203% U! t5 R S8 D* P1 S! f
8.15 使用select函数的TCP和UDP回射服务器程序 2047 W/ v8 h; G/ P9 r
8.16 小结 206
/ d2 Y) x$ {. k习题 207
/ }' u4 T: @0 S( {3 F第9章 基本SCTP套接字编程 2084 [3 a2 h* I/ l+ [8 I: t+ E
9.1 概述 208
- ^. ?8 @1 Z3 X+ F- p# M0 g! Q! r9.2 接口模型 208
' L7 b& n- K9 U* P6 F8 w; L9.3 sctp_bindx函数 212
3 K4 A. M* k) j6 ~: s1 H9.4 sctp_connectx函数 213/ N5 V9 I. B. i& N7 x" K
9.5 sctp_getpaddrs函数 2139 G- ?5 v$ n: t6 S, ]4 o
9.6 sctp_freepaddrs函数 213: W& B5 d4 J# Y. K/ w
9.7 sctp_getladdrs函数 214/ f! _/ G z5 K8 \0 D. c
9.8 sctp_freeladdrs函数 214' E1 l0 K h0 w. B/ W8 \
9.9 sctp_sendmsg函数 214" H h v# Q5 ] u, O& p
9.10 sctp_recvmsg函数 215. c# ^6 {. G1 a7 M6 Y: u
9.11 sctp_opt_info函数 215
U1 }) w: P% l6 G1 [8 ]& r9.12 sctp_peeloff函数 216
& B! y) z7 Y8 `# x) t) {( y9.13 shutdown函数 216" }$ S4 O& c' ]! N/ t
9.14 通知 217
1 R5 {1 k4 \- L: C9.15 小结 221" e5 V" L, @* |5 o& c
习题 2224 Z \8 A" {) a* z3 [$ o- ~+ y
第 10章 SCTP客户 服务器程序例子 2235 ~, D* o4 t- O' @
10.1 概述 2236 d. S; O8 e0 U( p6 J* G4 u( d( r
10.2 SCTP一到多式流分回射服务器程序:main函数 223
, T, l$ v% y( L10.3 SCTP一到多式流分回射客户程序:main函数 225, }, J/ i( Y) P
10.4 SCTP流分回射客户程序:sctpstr_cli函数 226
' E2 k9 @6 @9 K& i; `; K* ?* W% q10.5 探究头端阻塞 228
* H, D% t4 ~3 n4 A. _: s: W5 y7 m10.6 控制流的数目 233
: e) v, G4 ?% j% V( l10.7 控制终结 233
8 I, h1 s2 o* r7 g) T2 [10.8 小结 234
9 c0 ~- \1 G, _1 o习题 235# _1 y8 o2 C! g& e
第 11章 名字与地址转换 2363 ]/ W. r% G) p5 x) r6 k$ R
11.1 概述 236' j. J: @% c$ f: Q+ a& x
11.2 域名系统 236
& J# G/ @5 |, H, m11.3 gethostbyname函数 239
% P& }' U7 C% W3 O) {0 d11.4 gethostbyaddr函数 242
! e# T& ?2 W2 r1 \: W11.5 getservbyname和getservbyport函数 2425 H: e$ n& v h. L: \5 [& O I) t& o
11.6 getaddrinfo函数 245, V, E% n8 T2 B+ y, y9 D
11.7 gai_strerror函数 250
4 t/ ^( d( x* p4 s* U; h8 `. e) o1 y11.8 freeaddrinfo函数 251+ [) d( P+ R% O. T+ E5 u1 A
11.9 getaddrinfo函数:IPv6 251
& t0 J; p I4 V- a) `* _# h. I- V11.10 getaddrinfo函数:例子 253
! R5 v% z0 A& T. |8 y11.11 host_serv函数 254
* d0 \: X+ u1 m+ S11.12 tcp_connect函数 254
- ~1 U1 N! {# Q4 |# u* y11.13 tcp_listen函数 257
/ A# f4 ` e, B3 ]4 k/ n& z11.14 udp_client函数 2612 |' g% _' ?& R
11.15 udp_connect函数 263# ~, f# N- W2 T5 y
11.16 udp_server函数 264
& u8 V0 _; C2 g0 t* R11.17 getnameinfo函数 266
9 A' F" M1 S- ^11.18 可重入函数 267& d9 J( t1 p# O9 K2 G
11.19 gethostbyname_r和gethostbyaddr_r函数 270
1 @: Y" W3 i4 G$ [$ E11.20 作废的IPv6地址解析函数 271& |* h" c0 M& W) B. V
11.21 其他网络相关信息 272$ e6 Q( @( ?" E2 N! w% B, z( M/ b
11.22 小结 273
/ ~) l9 o; F2 T/ M1 l习题 274
" p6 E+ S5 d. p* D% Q第三部分 高级套接字编程: ~( ~9 B8 [; N" H
第 12章 IPv4与IPv6的互操作性 278
) j' P' I/ h C12.1 概述 278 i* f1 J* H1 [* `5 ^) j
12.2 IPv4客户与IPv6服务器 278
4 R6 U5 m$ @8 c' ]" \& `12.3 IPv6客户与IPv4服务器 281
" P7 c, ~. I& i7 T: ^: g' N12.4 IPv6地址测试宏 283
- g1 E* f5 [( Y/ j- @' N12.5 源代码可移植性 284
* `' P# {0 Q+ Q# F4 {# l12.6 小结 284
$ `7 E% l! }) W& x6 |& k8 i习题 285' o; j5 P# a! A) C1 p1 A1 B% n
第 13章 守护进程和inetd超级服务器 286
+ J) j1 O; O: {# n2 c, x13.1 概述 286* I" X- B3 G- W' u
13.2 syslogd守护进程 286
8 M ~7 D) x, q! _" H! Z' H13.3 syslog函数 287# N9 O7 y7 E0 }( N+ D" R. R
13.4 daemon_init函数 2890 s/ g( R6 Y- X4 y
13.5 inetd守护进程 293. f, O5 L, e8 i/ V
13.6 daemon_inetd函数 297
% z# s. c6 \) L13.7 小结 299
" w: Z1 L" x& ~( o% @+ D习题 2994 C+ m+ E. u$ d1 Y" D% o
第 14章 高级I O函数 300
* `# |6 q8 P: t, P- \* A" p14.1 概述 300
+ m) t* K( H' g$ v6 x! d14.2 套接字超时 300( P2 T7 s$ l4 _( {; X( V
14.3 recv和send函数 305$ V9 [# u; Q' T3 L/ n: S
14.4 readv和writev函数 3061 h. p) @! z" Z0 h4 k2 D/ F- B
14.5 recvmsg和sendmsg函数 307
/ e* R9 J6 f1 j6 I& f14.6 辅助数据 310
- c# I. I7 F5 n6 i8 t14.7 排队的数据量 313
- k7 X) f2 D8 n( O14.8 套接字和标准I O 313* ~; @0 j* S$ w0 u
14.9 高级轮询技术 316
/ y* g0 y( S; z. p0 i2 p, e" N14.10 T TCP:事务目的TCP 320
+ ?% V2 ]+ ~ m14.11 小结 322
3 s4 I9 t/ A w* e8 K习题 323$ Y+ P% V: Q" n: ?. j
第 15章 Unix域协议 324
& T3 ~! N+ \% J15.1 概述 324
; u9 ]: |/ V# Y8 N15.2 Unix域套接字地址结构 324
2 Q, G5 E. e; B0 w, l15.3 socketpair函数 326
! u; Q0 g% ]. T4 H3 f+ \15.4 套接字函数 327
3 s/ i$ K3 |9 b15.5 Unix域字节流客户 服务器程序 327
$ v: W3 [ \1 g+ u15.6 Unix域数据报客户 服务器程序 329
5 N7 D8 \: w2 z7 Y0 b5 N2 q15.7 描述符传递 330- T( |, d+ I% E# Q# c9 n
15.8 接收发送者的凭证 3372 z1 z8 K% |% A2 A
15.9 小结 3402 u% ~+ Z% l- f
习题 3401 F+ H4 X& \! ~' X
第 16章 非阻塞式I O 341
. d$ L) P1 E2 G3 W16.1 概述 341 g* p. Z+ Q9 l) T* w" @ n
16.2 非阻塞读和写:str_cli函数
2 ~7 V4 n# A/ d0 D: e- k% \; j4 O(修订版) 3425 N0 B0 g, u+ A: m9 |
16.3 非阻塞connect 351
6 W* c. w2 d3 ?. e$ U6 c+ {- o16.4 非阻塞connect:时间获取客户2 T" t' k: t7 W* \. d" F
程序 352
! o6 G' f+ B9 {! s) @" d3 p7 q- Q# F5 {16.5 非阻塞connect:Web客户程序 354) Q9 |9 h8 Z* v( |- W1 _3 S
16.6 非阻塞accept 3623 k+ S; ~$ u: T3 Q3 v: _
16.7 小结 363
1 o* b# I8 `$ o1 g4 d8 e习题 3636 _6 m3 D% P5 A# E& Y
第 17章 ioctl操作 365
3 \* {4 E* v* S, r17.1 概述 365
3 z# W. N, c8 X9 ]& r3 G17.2 ioctl函数 365' |4 r/ K# N' E4 D
17.3 套接字操作 366
! f. t/ ]' {0 A, d. V6 ]17.4 文件操作 367
5 H3 e, q/ N# J l, Y) h* S) D) @/ i17.5 接口配置 367. T" K0 N$ v+ `; ~& z7 J" W$ f
17.6 get_ifi_info函数 369
, v* P1 M3 n& m17.7 接口操作 378
" [$ v4 A( R9 A( X8 V6 _5 W ], J7 v& o+ O17.8 ARP高速缓存操作 378
# |, g* z' I* W$ N% e17.9 路由表操作 3809 r5 F* _ a# m5 f: Y
17.10 小结 381* M- T' r9 C' c# w- n/ t; E
习题 381
0 b$ l8 E1 W% u第 18章 路由套接字 382
8 I6 O# @& Y) o V2 J18.1 概述 382! z6 y: f7 h p: j4 \' y
18.2 数据链路套接字地址结构 382
3 ~! w1 V: O" G/ s2 j: z18.3 读和写 383- \8 \% F! w1 Y6 m4 M
18.4 sysctl操作 390
) _( v9 p8 F9 J18.5 get_ifi_info函数 394$ K0 a2 x7 F {+ h
18.6 接口名字和索引函数 3979 r( }( y: W& r6 D# W" G% b
18.7 小结 401
( W; I6 s1 ~. h9 y) G2 y7 {0 t习题 401- i( r/ ~# M7 J! ~& ~+ b
第 19章 密钥管理套接字 402
4 K/ N& L2 M h' t9 v, v19.1 概述 402
# }9 T4 g; W4 m, p) c19.2 读和写 403
$ g" r8 i' r& v. j19.3 倾泻安全关联数据库 404
3 l5 B* e1 k! z6 [" B/ y; z19.4 创建静态安全关联 407/ O# k! m. _( x$ @' R7 \! j/ k
19.5 动态维护安全关联 412
# s3 N6 w5 E( P& J19.6 小结 415- S8 r5 _& z/ J
习题 4169 F) C5 w0 X! G9 D! ^- y& Y
第 20章 广播 417. s( m7 [' S" @% I, W. K
20.1 概述 417) w0 K- V) T8 @0 y" @
20.2 广播地址 418
' E" o( d! |5 o ^ V20.3 单播和广播的比较 419
+ M3 `, ^1 }8 V& _: ^5 `20.4 使用广播的dg_cli函数 422" x& _3 `' U" d: Q7 @
20.5 竞争状态 424
, ^3 E" i$ {4 i; r5 P7 I20.6 小结 431
/ r: w$ W% ^2 `( x; \习题 432" a% B9 ^/ r* K( V5 Z
第 21章 多播 433
8 l; y6 s0 {- p. ?' r4 [21.1 概述 433
' @: a+ ^2 j, J" A. G, v21.2 多播地址 433
. }" b: B$ K/ j M% L" R21.3 局域网上多播和广播的比较 436$ k; h9 H7 y7 I. O: b/ r* R4 O1 A
21.4 广域网上的多播 438* m& \$ r, o2 ?
21.5 源特定多播 440* M$ p9 B% N7 [3 W; ?
21.6 多播套接字选项 441 Z* F# c& ?4 o
21.7 mcast_join和相关函数 445
! l9 O# b& r2 `. O# {+ ]* Q; v21.8 使用多播的dg_cli函数 450
2 I0 c" P% `, S5 S2 R21.9 接收IP多播基础设施会话声明 451
; R" A0 }7 i* l2 g21.10 发送和接收 454
/ T+ z6 M# J B4 z21.11 SNTP:简单网络时间协议 457+ R' R9 }8 O; l& W
21.12 小结 461
l+ R0 x0 B* l& C1 ~习题 4619 ^2 Z H" J6 n W; ^* n+ V8 ?
第 22章 高级UDP套接字编程 462
6 L0 G3 E- w# s22.1 概述 462+ j0 R( h2 U- w2 O
22.2 接收标志、目的IP地址和接口索引 462( B/ w2 g! D6 @
22.3 数据报截断 467. z' U8 y6 A+ b& }4 W
22.4 何时用UDP代替TCP 4672 I. q3 A( _, a9 r8 }$ e
22.5 给UDP应用增加可靠性 469. m$ P$ {8 a7 F) C
22.6 捆绑接口地址 478
, _* `9 i9 @: C: i, T$ S22.7 并发UDP服务器 482
; T- e# R" M) U! _. t. @22.8 IPv6分组信息 4834 z# Z1 L- ~8 y" ?0 R7 k& O9 ~
22.9 IPv6路径MTU控制 486
2 F( F1 ]. q4 \+ R8 H% X! O22.10 小结 4876 s( G1 F: G9 B+ |" D, E7 }* }0 Q
习题 4886 ~; H( B3 k6 P `8 f* f7 K1 p
第 23章 高级SCTP套接字编程 489
: y9 l( c" ^/ [3 J8 d/ E% c$ @3 U23.1 概述 4897 S+ |" H0 W. X. U+ e o
23.2 自动关闭的一到多式服务器程序 489
6 H7 T4 U3 G, o7 y) @- t7 W' Y23.3 部分递送 490% P% U% X U7 D; ]4 r2 n
23.4 通知 4924 X- b+ u4 s. m) V; x% r
23.5 无序的数据 495
1 G$ t7 S1 J9 O$ e n; D. Z& F, w23.6 捆绑地址子集 496
. i! ~9 T( v" q( M5 {7 X23.7 确定对端和本端地址信息 497( W" t& w( `- Y5 N8 V# n
23.8 给定IP地址找出关联ID 500( w* [: e7 E, \' l! K# t
23.9 心搏和地址不可达 501, B/ U7 |" k5 ^" U1 n- Z
23.10 关联剥离 502
- S* N9 B& t% h( G5 H" F4 s23.11 定时控制 503
& A$ y7 T4 ] {9 b23.12 何时改用SCTP代替TCP 505
# [7 l7 F% v( w, M, D# K' [0 m+ N23.13 小结 506
, J, @ L7 n6 a, Q0 [) J习题 5060 U6 k; `) I, m; D/ A5 h a3 G+ H
第 24章 带外数据 507
( [; Z/ t: y9 V1 z) T% g" d- F2 M& Z24.1 概述 5078 i: ?! j' R0 w- `( d& U/ ]
24.2 TCP带外数据 507- e* C% W% Q8 b* V8 N
24.3 sockatmark函数 513
1 t. Z+ d g7 d6 _# T- W24.4 TCP带外数据小结 5193 C9 y" ]$ n* y( x- w
24.5 客户 服务器心搏函数 5208 G5 R$ U0 ]8 r9 X" Q, _. }
24.6 小结 524. B, R6 y' R. Q1 X5 Q$ M
习题 524- V8 P$ Z+ w+ U; L) i' T4 N1 u
第 25章 信号驱动式I O 525# x( ?* J0 P7 O, Z( R: Y6 N, r
25.1 概述 525. b/ Q- j8 ]7 I( K0 D
25.2 套接字的信号驱动式I O 5254 u1 K3 m; P' W' k6 e3 J: }' r+ u. Z
25.3 使用SIGIO的UDP回射服务器程序 527
6 N% d. X8 C6 d8 x% W$ J7 E25.4 小结 532
( e* M r, [% u4 S, `" l习题 533% s9 q" d& f9 o- C
第 26章 线程 534
# w- m# v4 x! S. t26.1 概述 534
7 J5 J4 d# I+ S0 }. l26.2 基本线程函数:创建和终止 535
2 V, u3 s) W6 R3 l6 Q+ T26.3 使用线程的str_cli函数 537, Z% X# }0 O1 z; S
26.4 使用线程的TCP回射服务器程序 538
0 V# b! `9 n& ^# o26.5 线程特定数据 542
$ e; y3 N8 v; T' M7 o. z/ G26.6 Web客户与同时连接 549( H. r' J* [* F1 [( b
26.7 互斥锁 552
+ S1 A* G; m$ W7 O26.8 条件变量 5559 g0 h3 z/ ~' Y& v" J) ^# R" `% @5 ]
26.9 Web客户与同时连接(续) 5582 e, V& H7 k* t' ^$ s! i
26.10 小结 5603 _ N7 j N2 m" a$ W" J
习题 560
' }* }+ ^# g+ Z! |9 ~) E第 27章 IP选项 561
% L* N& s$ d+ w$ K: \, }1 O8 q27.1 概述 5611 k' d3 R8 `' X6 q" s2 R, O* u, g- P
27.2 IPv4选项 5614 ]: [: }' T' t- [4 y" X. f
27.3 IPv4源路径选项 562
: D% C7 K# p O) C# ]0 e27.4 IPv6扩展 569& }- F, _9 V9 ~4 k% H: R" R% W
27.5 IPv6步跳选项和目的地选项 569- S6 g* k C, `+ \6 C" C
27.6 IPv6路由 573
9 u) I* H7 J. R' c) }3 h# d27.7 IPv6粘附选项 577
% b- l7 m8 I, M" B+ v27.8 历史性IPv6高级API 578
1 N5 t! h5 z( g6 c27.9 小结 579$ h: v, c% J. K0 I9 T& h0 E7 D- C
习题 579+ G: ?$ J! U. q5 ]7 f9 x a! K1 r
第 28章 原始套接字 580
) x4 p3 n5 k* y9 p( o$ @! _4 M28.1 概述 580 Z) H; N" q; p& S# p# V
28.2 原始套接字创建 5809 F! z3 B! t9 d4 S$ \4 O. k
28.3 原始套接字输出 581' k+ e2 S8 y/ A7 n) i, ]1 t( S
28.4 原始套接字输入 5822 W) z/ `& e7 C! t* u4 d
28.5 ping程序 584" N0 N+ E! O7 M$ { E4 @% D
28.6 traceroute程序 596: o. w+ ^& K6 V
28.7 一个ICMP消息守护程序 608
{# {! D( v$ i2 q+ q28.8 小结 622
& m4 p7 V2 x( z5 y& R$ I8 v O习题 622. `$ I2 y7 s- Q( g+ |& I! a
第 29章 数据链路访问 623* `# W5 k3 r$ f5 p5 e1 l
29.1 概述 6235 }# n" L6 l/ i4 w/ r3 C
29.2 BPF:BSD分组过滤器 623
6 I9 g3 ]' x3 S0 }3 e29.3 DLPI:数据链路提供者接口 625
4 V+ P( T$ Z2 t& E: V! ?5 ^29.4 Linux:SOCK_PACKET和
- {, C4 _. e1 j gPF_PACKET 6262 V0 w3 O( _; g% ~* n( Y
29.5 libpcap:分组捕获函数库 627: i% @- Z" g7 I+ ]/ r# r
29.6 libnet:分组构造与输出函数库 627
7 C' H+ D3 D% T2 m( B29.7 检查UDP的校验和字段 628' A% @. s: A. t0 q' p3 R' o
29.8 小结 645
" p% w! e2 \# @! {% }习题 645
7 U, g) ^" w* r1 }1 q6 h第30章 客户 服务器程序设计范式 646
! ?+ [/ E# I* R30.1 概述 646
9 L0 c* d6 k2 H+ L) `! G30.2 TCP客户程序设计范式 648' N9 y! _% }" u( R7 q
30.3 TCP测试用客户程序 649* m$ d6 o# A! j) O) }8 z6 f2 P* m
30.4 TCP迭代服务器程序 650
+ x/ v) t: D& x0 M+ W30.5 TCP并发服务器程序,+ \2 e, G5 h- a
每个客户一个子进程 650
0 f+ y( r0 Q! y# V) G+ h30.6 TCP预先派生子进程服务器程序,accept无上锁保护 653
9 D) s; G( t F$ F7 I( C9 f30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护 659) z' h3 |- a; O/ L/ X) ^) u
30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护 662
2 L+ H6 q; D8 n. A30.9 TCP预先派生子进程服务器程序,传递描述符 6638 c8 K4 E% j1 d3 Y7 @0 D9 A. k
30.10 TCP并发服务器程序,每个客户一个线程 667, C5 K; Q4 m7 I* j9 E4 r3 {1 @- _
30.11 TCP预先创建线程服务器程序,每个线程各自accept 6698 C; r4 \) r( O$ K, h4 g) A
30.12 TCP预先创建线程服务器程序,主线程统一accept 671
1 ]: f6 ]1 a7 J0 j4 l9 P, k30.13 小结 6739 V @2 e3 @3 r# I
习题 674* i8 O1 e0 \8 ~5 U9 H
第31章 流 675- k! o1 G& @2 e# D6 t
31.1 概述 675" c8 I0 x9 c0 d, l
31.2 概貌 6757 L' ?2 h* T+ Y% Q1 G* W$ t
31.3 getmsg和putmsg函数 6787 ?4 h' e* O3 O: ]
31.4 getpmsg和putpmsg函数 679
3 t ]% n6 s3 ~' `% u$ V% ?( `/ Z; Z31.5 ioctl函数 680
8 p ~1 p, v; m& s) l6 v: ]: e% G31.6 TPI:传输提供者接口 680
. Q* L0 m9 f( _7 F3 [ ]31.7 小结 689
- v0 g; y4 l# [' W2 Q8 @% H. q习题 689+ B& c8 l$ a# z- j
附录A IPv4、IPv6、ICMPv4和ICMPv6 690
4 R( ~) z! o# N) A* t% p$ b% b附录B 虚拟网络 704
$ J, H! I0 p8 _5 d附录C 调试技术 708
# P$ }7 Q2 | `3 h! w附录D 杂凑的源代码 714. q$ S1 a+ p9 ~8 m; d, I3 e0 s3 v
附录E 精选习题答案 726
" }1 @% n/ B5 `% c4 B3 b" |: l8 q参考文献 756$ [$ i* X m0 c- M
索引 763* N( @/ d8 S$ i! @& z
百度云盘下载地址(完全免费-绝无套路):
) P) B! [. {3 j; Z- j9 E |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|