|
Java电子书:UNIX网络编程 卷1 套接字联网API 第3版 格式 pdf 电子书 PDF 电子书 Java吧 java8.com
' Z' M8 S2 o. X) V. l. Z! P9 y3 H! p) ~7 P$ Q
- A: Y- ~. C. a" c编号:mudaima-P0313【Java吧 java8.com】. G# N/ h. q, D" B% T' b
* r; c+ P' } |2 j
( |" h5 m3 n/ b
& N& @% g% H$ Y7 m
Java电子书目录:第 一部分 简介和TCP IP
; x. h/ R2 }* W. B第 1章 简介 2# ?+ O4 |$ y1 F3 \5 a
1.1 概述 2
! o" w- R5 c" Q% D, q, @" S K1.2 一个简单的时间获取客户程序 5! }7 \' S& e; R+ B3 K
1.3 协议无关性 9+ x7 r- W) k/ e* j- h* m: p, q
1.4 错误处理:包裹函数 10
2 R( v% ]" M" X1.5 一个简单的时间获取服务器程序 12
2 e$ i7 D1 v; H1.6 本书中客户 服务器程序示例索引表 14. u6 w% n) c" b3 V% V% n( Q$ B
1.7 OSI模型 16
' j- N3 t/ Q! a- I$ i1.8 BSD网络支持历史 17, z. G; U$ S5 A( ^
1.9 测试用网络及主机 19" N C5 d0 N+ N, ~4 z1 K+ o' }; z
1.10 Unix标准 22
) t: E p& Q, f m t# @% d, t, Y# K8 C1.11 64位体系结构 24# ^8 \& |# ~" U- H
1.12 小结 25
: n' ?. }9 }! ?7 q9 i2 `习题 258 R _( N" q' y- g' X
第 2章 传输层:TCP、UDP和SCTP 271 h7 ^+ q4 b: O- F
2.1 概述 27
, e. S- E# ]0 [2.2 总图 27: x) B$ V* i( G. h
2.3 用户数据报协议(UDP) 29
* ]1 x) K, B) v1 f* u5 }; B6 L0 r2.4 传输控制协议(TCP) 304 @( d C1 }8 o7 o! V# S0 k
2.5 流控制传输协议(SCTP) 31 U3 T# @; s5 E# Y! I0 s7 ~
2.6 TCP连接的建立和终止 31
$ `) p. b1 @% |' n2.7 TIME_WAIT状态 37
1 u. Q6 q! c- g, D* D* a2.8 SCTP关联的建立和终止 386 h& X" Q3 B9 m" D! H, s5 Q
2.9 端口号 42
, V- o. t1 C/ G& y1 ]2.10 TCP端口号与并发服务器 43
$ \8 \+ n, P5 \+ M' a5 }& A0 q# P8 T5 i2.11 缓冲区大小及限制 45
/ b% R, i: h$ q R/ P# j3 W2.12 标准因特网服务 50
& \7 v# Z# t" X8 Y# F) u4 I2.13 常见因特网应用的协议使用 51
% A! I; Q$ E3 m+ \+ j2.14 小结 52+ Z) k; D7 N( h# v: }+ \
习题 53
( J: K2 L$ e. i4 v! ~4 L第二部分 基本套接字编程' Y1 S7 s& q( D
第3章 套接字编程简介 56
% D2 x, L7 t) l. [3.1 概述 56" W4 ^& P5 R' \/ i T
3.2 套接字地址结构 56
. G: x0 k/ r& W d3 g( @3.3 值—结果参数 61
9 T# D- u9 e2 p) |3.4 字节排序函数 63
$ P+ y: v. e& m) ^, s. h2 P' Z& ~: ]3.5 字节操纵函数 66
" ^" o, @- F% l8 K- L0 ^ R& u3.6 inet_aton、inet_addr和inet_ntoa函数 67
/ a' k; f! O C3.7 inet_pton和inet_ntop函数 68
& ~* w; m( j% N) h5 S3.8 sock_ntop和相关函数 70: h5 J2 {; A1 i5 |7 W* \5 h
3.9 readn、writen和readline函数 72
9 z8 E4 h2 I+ N: p3.10 小结 76
$ [! k" }% r9 X, O+ T% ?" @7 D习题 769 g. k% X0 O5 L2 @7 ]" t
第4章 基本TCP套接字编程 779 f* w1 e9 V) R% S+ M2 O
4.1 概述 77$ H& o0 \8 i! O5 Y$ c
4.2 socket函数 77* G8 l! M; g1 [2 q4 F
4.3 connect函数 80) s* O- I. ?9 X( f5 u
4.4 bind函数 81
3 T y" T: ]3 X/ T, f1 e4.5 listen函数 84! Z/ ?% m K- j! y* @
4.6 accept函数 88
1 |8 f p. U. q/ I8 }7 O/ o4.7 fork和exec函数 90' h2 M( I J" `0 C3 _/ _
4.8 并发服务器 91
6 X. j: [3 B* X/ j; h l4.9 close函数 93
! a, `4 X. l( k6 }& r) D4.10 getsockname和getpeername函数 94
1 b, e3 u/ s! {% g3 D4.11 小结 96
9 c( p6 Z. l) \( A习题 96
1 ^( ]6 P0 n$ _第5章 TCP客户 服务器程序示例 97
3 D# Q+ g2 }6 {% F' n$ G' j- Z- i5.1 概述 976 h5 W" e" Z* H+ P/ E% [6 t$ l
5.2 TCP回射服务器程序:main函数 974 _8 B# X" T' i) [9 y
5.3 TCP回射服务器程序:str_echo函数 98% a& R& g) R6 G
5.4 TCP回射客户程序:main函数 99( k% Z7 `3 Y2 y/ d
5.5 TCP回射客户程序:str_cli函数 100
1 K7 {5 Z% P- M. Q6 \5.6 正常启动 1010 D. h" ^3 ^ `
5.7 正常终止 102& @2 | |3 V L7 D, z
5.8 POSIX信号处理 103
T9 E0 k& J! h1 D' a; B5.9 处理SIGCHLD信号 106! }" b9 U0 j9 E# |# Y* H: a
5.10 wait和waitpid函数 108! \# i. @2 u$ b9 o, Z
5.11 accept返回前连接中止 111
- {0 ]9 T ?7 I1 o; @ p! M; |- j) d5.12 服务器进程终止 112
/ h8 S4 D# J$ ?1 s5 P, g5 ^5.13 SIGPIPE信号 113
2 \2 T# y+ B7 p% \& U3 t5.14 服务器主机崩溃 114
( C8 A9 O# l' M( [- w1 { V0 C5 m1 w5.15 服务器主机崩溃后重启 115
. y& C8 A; K( ~% f5.16 服务器主机关机 116
) J0 k4 f4 x- B: H5.17 TCP程序例子小结 1164 X; O5 ^6 c( O' L3 n* C
5.18 数据格式 117) O, A# ?4 S+ x0 `+ J; Y/ x, M' q
5.19 小结 120! m2 j' h$ V4 M% ?6 }) d6 L
习题 120/ n! B" x" }9 `, {( S* I
第6章 I O复用:select和poll函数 122/ _% O, V- d3 e
6.1 概述 1226 T( f, }& o2 i! m$ ?- W5 Q
6.2 I O模型 122
8 @% d% m( n0 o. U" H' O" a' J" V6.3 select函数 127* o, M: `# C7 s- A$ b9 e- G' u& @
6.4 str_cli函数(修订版) 132- b8 e1 d- z- |2 Y2 M3 W
6.5 批量输入 133% J, S8 t* w1 _0 O$ `7 @
6.6 shutdown函数 136, Z2 ?+ D& F! |6 w6 a7 j
6.7 str_cli函数(再修订版) 137
6 p+ ?& p& `8 Y* y" ]6.8 TCP回射服务器程序(修订版) 138
" e' m# u7 G4 @! ~# N& s6.9 pselect函数 142- c8 C; s# j4 C3 D( O& k- r
6.10 poll函数 144
1 B I2 y' S( z( |* k F; E1 \( @6.11 TCP回射服务器程序(再修订版) 146
8 K" g5 D% }, \6 y6.12 小结 148
; i# n$ l' J7 [1 b) |1 {6 k1 G习题 149; p1 l: Z4 [4 u* @+ S6 z H
第7章 套接字选项 150" q! t! _- o* e7 r& s
7.1 概述 150
( {6 ~# W" w( `7.2 getsockopt和setsockopt函数 150
, i, }: [- b h* h- C( W& S" t7.3 检查选项是否受支持并获取默认值 152
/ i) @& E# M- @3 q7.4 套接字状态 156
+ m+ P7 k3 f& [/ ?+ K7.5 通用套接字选项 1567 b' ?# h, J4 G+ B5 J( F
7.6 IPv4套接字选项 168
& k' }# c$ g6 \' `9 w! w, ]7.7 ICMPv6套接字选项 169
; G3 V$ c6 i0 ]0 ?9 N7.8 IPv6套接字选项 169
]6 e; M$ p6 q" w6 O8 m' A4 b7.9 TCP套接字选项 171
8 X: |3 U6 v X- b7.10 SCTP套接字选项 173
7 k% C# `6 Y9 c7 w7.11 fcntl函数 182
5 X2 B" f4 C8 u7.12 小结 184
, q2 w# \; J' }: B$ a0 ^# t习题 1845 s. H2 g7 a/ ^$ Z5 c4 p
第8章 基本UDP套接字编程 186
, G# c l2 y' ^) C, A: `# S& J8.1 概述 186
; Q! W. {$ l* x& f s( G4 ] r8.2 recvfrom和sendto函数 187/ @- i' h" A7 | c/ `# M# [
8.3 UDP回射服务器程序:main函数 1874 Q2 W* M! e2 Z7 m, j
8.4 UDP回射服务器程序:dg_echo函数 188$ H) Z1 T& w' w$ t7 ]3 {3 b
8.5 UDP回射客户程序:main函数 190
$ X* d, i. B- t6 m( i8.6 UDP回射客户程序:dg_cli函数 190
) n1 n& H2 I2 A5 N3 H3 S8.7 数据报的丢失 191
! ~8 ~8 D6 p$ t5 z3 J% w8.8 验证接收到的响应 191) J9 V8 _# d H$ j6 \) R5 X
8.9 服务器进程未运行 193( C: _5 I/ v' ]4 H. I% ]# |: l
8.10 UDP程序例子小结 194
# x: c" Q( z- b. h! g8.11 UDP的connect函数 196
( D/ h" X; G H3 Y; @, ]( H8.12 dg_cli函数(修订版) 1995 w4 l7 k: ?1 e8 c' k& Y- u3 o
8.13 UDP缺乏流量控制 200 I6 @* d0 D2 K: B! E4 e; q0 J
8.14 UDP中的外出接口的确定 203* G" \1 @; W! H. t- F, D
8.15 使用select函数的TCP和UDP回射服务器程序 204
L& P4 s+ o; j9 C1 G8.16 小结 206
- z, C1 F% ]$ V$ c- t6 e习题 207
- h/ Q) Z* Y3 o0 ?5 v1 o第9章 基本SCTP套接字编程 2081 V# i7 y: |2 \
9.1 概述 208
: Z+ f8 o0 A+ C* [* C" c+ n9.2 接口模型 208" @8 n+ u: b- o5 f
9.3 sctp_bindx函数 212
. @$ f9 `4 Q9 i( {( f& O+ B& k% K9.4 sctp_connectx函数 2130 S5 m# q( {2 b. v7 F: a
9.5 sctp_getpaddrs函数 213
7 Z% q, m, W; [+ V9 z9.6 sctp_freepaddrs函数 213! K* _0 f$ N0 [1 _! `7 r
9.7 sctp_getladdrs函数 214 \# G) A* a- s$ t, h% o7 ~8 {
9.8 sctp_freeladdrs函数 214
7 L4 J" s B/ a7 q* f9.9 sctp_sendmsg函数 214
9 L5 ^/ b; E- w# f, j0 H9.10 sctp_recvmsg函数 215
# j3 G/ R, M' h* [2 S$ o9.11 sctp_opt_info函数 215
, g0 E3 ? \6 Z5 p) b9.12 sctp_peeloff函数 216% q; P; L! ]3 D4 l* z% {
9.13 shutdown函数 216
# U X% `- |- U; u9 r9.14 通知 217
" o5 \0 S" G" A: M- ~, u9.15 小结 221* l( q1 L8 J' q. L `' \
习题 222
0 l5 v1 Y! ?) t$ }第 10章 SCTP客户 服务器程序例子 223
C/ C( D* ]5 U; e- d3 G# d10.1 概述 223# Q! u! `3 r+ K" ?7 l: Z9 W% r9 A
10.2 SCTP一到多式流分回射服务器程序:main函数 2232 Z, t) [4 C+ i& L2 a
10.3 SCTP一到多式流分回射客户程序:main函数 2258 n* C' r, s& U# C$ l
10.4 SCTP流分回射客户程序:sctpstr_cli函数 226
6 E. t5 w3 t$ L& k1 }3 U- W. P10.5 探究头端阻塞 2284 e/ _! i: H* |$ }3 c7 A2 ^
10.6 控制流的数目 233
) \& E: }7 n$ U& l) J$ h! l4 R10.7 控制终结 233 H3 A0 h7 H9 b4 s! y3 P
10.8 小结 234
* x4 a% Z* L% o( M4 f& ]2 _, j习题 235
4 q; n* ~1 M# K( A: K5 ~* `7 ~9 w第 11章 名字与地址转换 236( R' f% j/ i5 v
11.1 概述 2367 X' e/ I) Q3 T }/ h6 B5 _+ ^
11.2 域名系统 236/ g5 h [8 g- j' J
11.3 gethostbyname函数 239* L6 i# Z, r- M6 e; w% p2 X9 ~
11.4 gethostbyaddr函数 242
: v4 ^1 N% ~$ x; a9 j- H2 N11.5 getservbyname和getservbyport函数 2421 J# e. H4 e% S1 c) U; V
11.6 getaddrinfo函数 245/ M" G& m+ Q0 S
11.7 gai_strerror函数 250 f- P0 P* {* z* j3 {2 B- ^
11.8 freeaddrinfo函数 251& s0 I5 S+ ?. b" T9 G" N' V
11.9 getaddrinfo函数:IPv6 251! \4 d1 J- }. t4 x$ k3 c. s
11.10 getaddrinfo函数:例子 253! I9 [5 V" M) `; T7 V: U
11.11 host_serv函数 2545 G' G& O4 g( D( u, w2 U' k, z
11.12 tcp_connect函数 254
4 {/ P* O: d; \7 P# h5 H11.13 tcp_listen函数 257( X# K- m3 P# K2 e6 r2 k' @# I
11.14 udp_client函数 261
$ v2 |0 d% _ B$ p* a# C11.15 udp_connect函数 263
0 x/ p3 x6 T+ U11.16 udp_server函数 264& s7 }6 G K3 L4 b- C- i6 M
11.17 getnameinfo函数 266/ }2 M! F3 J$ U) y; b/ u$ \" Q
11.18 可重入函数 267$ d n2 K) \; K0 _& ~" W
11.19 gethostbyname_r和gethostbyaddr_r函数 270( U. u' X( O- I) y1 i. E5 D
11.20 作废的IPv6地址解析函数 271( Y$ T; f1 y+ I- v Z3 f1 P
11.21 其他网络相关信息 272
2 q2 d, i) L! n9 Z9 H11.22 小结 273- \& T2 E: g2 H
习题 274
8 F2 C/ o6 ?0 K! Z8 X& X第三部分 高级套接字编程# I5 E: Q9 R% }) [
第 12章 IPv4与IPv6的互操作性 278: K; a4 H0 z( Y& V. r
12.1 概述 278; ~8 g8 r$ F) Y# _( S) o- d
12.2 IPv4客户与IPv6服务器 278* P$ z7 `; n4 W' R9 e
12.3 IPv6客户与IPv4服务器 281
" J5 |3 {5 L. v: s/ c% Y" k/ [12.4 IPv6地址测试宏 283
3 ^" c& i) U N8 h; Y0 O12.5 源代码可移植性 284
8 K% _0 t/ c) r; c6 h2 i. t12.6 小结 284, o, F* R* e" N X& r9 ^* V2 q& Y
习题 285' k* `, ?: D# S0 u) P' t9 L* q
第 13章 守护进程和inetd超级服务器 286
% l, D. @% ?4 v$ N3 B/ M) {13.1 概述 2861 a7 h9 `6 J' d% G- `: V
13.2 syslogd守护进程 286" J) r: g% I: S
13.3 syslog函数 287
/ P1 ]* j7 u$ q3 o, O* y5 s5 j2 ]13.4 daemon_init函数 289
2 k+ g1 j, N# ~/ b13.5 inetd守护进程 293
/ Y: ~' V: _% c1 _9 b* ]13.6 daemon_inetd函数 297
) E+ y* G0 k- h3 X13.7 小结 299
* v8 s! j7 N7 L$ T习题 299
- J$ g5 \* K! m( f/ v第 14章 高级I O函数 300
& L* T# x) R5 j5 I14.1 概述 300
$ {4 G2 B, V; i2 z1 N14.2 套接字超时 300
3 q% X% l8 h/ ~. @' m+ j14.3 recv和send函数 3051 O! {$ A( `; U6 v
14.4 readv和writev函数 306
$ C* g( q/ u k. O14.5 recvmsg和sendmsg函数 307, K& w3 c( R0 V' Q: E) j. j
14.6 辅助数据 3101 [/ t; y/ [1 d T- k( f' H, H
14.7 排队的数据量 313
- ?' Z4 ^; c! {5 R' I% T3 z( C14.8 套接字和标准I O 313/ q$ d5 f4 w" Y2 ~# [6 m) a" L* V- K
14.9 高级轮询技术 316) K1 O5 u% ^+ E
14.10 T TCP:事务目的TCP 320 n3 C, @; U# O1 R
14.11 小结 322
. h. v n+ M4 l习题 323$ A' C1 K( c9 N5 C5 D# n
第 15章 Unix域协议 324+ _0 |" T9 W; x5 |* L6 ~' ?" N& ^
15.1 概述 324; X# O. l4 h8 Z. D7 X, p6 n
15.2 Unix域套接字地址结构 3245 X" {* Y( N. i1 G9 Q/ m
15.3 socketpair函数 326" Q$ b7 R" k9 {
15.4 套接字函数 3270 k- D4 V) V7 d
15.5 Unix域字节流客户 服务器程序 327. l, d% ]6 z3 c- o
15.6 Unix域数据报客户 服务器程序 329
! T' N* u/ r( q+ j! H0 K15.7 描述符传递 330/ V4 H- x) v& d. j& ]6 P
15.8 接收发送者的凭证 337% P! q Q! D' r! k) T+ p
15.9 小结 340
0 b1 J8 v4 g* l3 J: C习题 340
x6 n. ]9 \/ _. {第 16章 非阻塞式I O 341% M: |* J4 }* `, w
16.1 概述 341* `1 C, [) \) C& K q, B% ]9 t
16.2 非阻塞读和写:str_cli函数' @ J. p+ G) G6 x" q$ d
(修订版) 342' O, R/ h5 Q8 o/ L6 v. j3 h7 D7 t
16.3 非阻塞connect 351
% v0 I* l! ^: u! b. S2 K, H4 L# T16.4 非阻塞connect:时间获取客户
- r' B' B+ e$ x程序 352
* m/ x G$ D& k) y$ W- _3 s6 Z16.5 非阻塞connect:Web客户程序 354$ M. D8 i3 v5 g( Z, h5 U
16.6 非阻塞accept 362
- T n8 O6 V+ [16.7 小结 363
9 X: n5 R* P) ~习题 363
( a7 X: D8 x0 {8 ?7 h8 k/ }第 17章 ioctl操作 3650 Z4 i% D7 e. z: T( {' H! ]8 m b, ?
17.1 概述 365
6 p0 H' H ~7 s/ B17.2 ioctl函数 365
& P: _8 I) f% u) v17.3 套接字操作 3661 l* o. @: n. F& }* @1 z$ ^ j
17.4 文件操作 367
6 j8 B7 c, s6 A* A17.5 接口配置 367
; K. ^" r5 y" _17.6 get_ifi_info函数 369: b2 S x$ t% `, S3 b
17.7 接口操作 378
& L( v9 F& r0 H/ G- V. y# Q3 o17.8 ARP高速缓存操作 378
) t4 e+ F8 u$ x, _. O17.9 路由表操作 380. `( w6 H ^6 g; H
17.10 小结 381; S& I" m A' r5 |6 Z5 I7 o: i
习题 381/ K3 F' @" Z' N1 o4 O4 S# u* G
第 18章 路由套接字 382& W0 [% x& H# U9 u1 C
18.1 概述 3825 S: B. b" b( y# L5 \' x4 n( F- y
18.2 数据链路套接字地址结构 382
$ m+ S* g" W7 C" w# Z18.3 读和写 3836 O. \4 G$ g7 S1 V
18.4 sysctl操作 3904 W$ K' |4 E; M
18.5 get_ifi_info函数 394& x$ r5 q# \" k6 _; F' X' `% S5 g3 S
18.6 接口名字和索引函数 397
# R& k0 }" L6 N% h18.7 小结 401. D; K. p$ D, a+ P( n3 j
习题 401/ K- \5 @) g# V# x( Z
第 19章 密钥管理套接字 402. j& I0 D( Y; F
19.1 概述 402
& w* K, y4 [/ ~: P19.2 读和写 403
3 [. L5 N0 J2 ]9 ~; {19.3 倾泻安全关联数据库 404+ ~- J; P6 Z: J! {" q8 J/ H3 n, i
19.4 创建静态安全关联 407
. n% S- ^" t, Q- s% O e9 D1 N+ f19.5 动态维护安全关联 4123 ^ U" I! H: K2 P# N4 g0 s- H( u
19.6 小结 415
+ l4 s& { Q0 c3 n {习题 4163 Z9 f @* ]! O5 M$ z
第 20章 广播 417
) i* j9 S4 O: R! m7 |' R20.1 概述 417
! C6 @* H. F1 P' `/ D20.2 广播地址 418* C5 }0 \7 }2 n- {" E
20.3 单播和广播的比较 419/ f! u' h! B$ j. s( s. l2 p
20.4 使用广播的dg_cli函数 422
( }' [$ n& v% u: o; e2 x20.5 竞争状态 424
+ b$ N h$ `2 O3 \9 ~& T% {20.6 小结 431- b- @% F) c1 ^ }# o ]
习题 432
7 H; K* f; d! k O第 21章 多播 433
+ y) T% R, a' V' l! f21.1 概述 433
6 u( h3 n6 Y% C" ^21.2 多播地址 433
4 J1 L. S5 P& E5 @! m( b6 J21.3 局域网上多播和广播的比较 436
, L. c* v, B/ ~$ q4 g21.4 广域网上的多播 438
: F! G$ e$ W+ l21.5 源特定多播 440' x& z w0 c+ G) v" X& T
21.6 多播套接字选项 441
4 Q( J |7 }0 E } d! X21.7 mcast_join和相关函数 445
/ G6 y. q) c- k! L21.8 使用多播的dg_cli函数 450/ U3 B6 O' T( N- |/ v+ Z7 w
21.9 接收IP多播基础设施会话声明 451+ n- ^) @: z9 u' N4 V+ q# \% K
21.10 发送和接收 454
% z3 m5 X9 F( l" T: ~2 M. d8 _: |! _21.11 SNTP:简单网络时间协议 457+ [+ v/ E/ [- V, {
21.12 小结 461
, Z& f( d3 c# m+ I4 K5 l* e( I6 g习题 461
9 W" _2 J+ A" R, n& U/ X第 22章 高级UDP套接字编程 462
1 o F) S- K. T, l2 ] G3 c' O22.1 概述 462
6 M9 h0 d1 [' y/ ?22.2 接收标志、目的IP地址和接口索引 462
% K1 V* b& X) w2 u6 Q% h/ c. \22.3 数据报截断 467
7 ]% w) O+ ^. V+ w22.4 何时用UDP代替TCP 4670 ?0 I3 l9 t0 j1 @/ S. \/ M
22.5 给UDP应用增加可靠性 469* H7 c/ Z" ^% Y9 A3 ^
22.6 捆绑接口地址 478. o" J9 Z" x# Z r' z7 U
22.7 并发UDP服务器 4824 b6 a8 b" c, w
22.8 IPv6分组信息 483
4 U- K+ p/ X0 ]22.9 IPv6路径MTU控制 486
! _5 Y! R* v2 m! N! M1 a! U22.10 小结 4873 H# o- n& ? f o) v
习题 488
3 D) g+ O9 [+ w: S# b第 23章 高级SCTP套接字编程 489
$ R% i5 V5 ~3 b23.1 概述 489
; v$ C' ]1 H+ t$ |* V23.2 自动关闭的一到多式服务器程序 489
~1 Z1 w7 S. Z$ C/ r! c" {23.3 部分递送 490
: ]; l7 J8 T* Z g23.4 通知 492
: y6 S* k5 b( r/ x- m23.5 无序的数据 495
; C7 A) d- Y7 k. C9 E9 R% l23.6 捆绑地址子集 496
% A# I) Y$ q, O; p7 w' p* M23.7 确定对端和本端地址信息 4978 z3 d0 D: J# H$ |) |# R6 d$ m
23.8 给定IP地址找出关联ID 500
5 d0 C% O# Y2 N2 j4 p23.9 心搏和地址不可达 501
/ ]- {1 E% M9 T% Q+ S* p# x23.10 关联剥离 502
6 _, g! M5 T, v5 q/ z" X23.11 定时控制 5030 |2 s/ t9 n- f+ q* D
23.12 何时改用SCTP代替TCP 505
: P) i7 a& X/ {+ |8 s7 P* }23.13 小结 506
" {# ]$ [* I0 t习题 506
& @, P y1 J3 \. k第 24章 带外数据 507+ {( W9 ~6 a/ V* q2 E! ]$ p9 u" s. ?
24.1 概述 507
" ^# m. h8 S% I; N5 y) [% w$ \24.2 TCP带外数据 507
+ ? _3 r+ _, ^5 X24.3 sockatmark函数 513
3 @8 l4 [% d/ m5 P24.4 TCP带外数据小结 519
/ U$ W N$ G+ C9 u* @24.5 客户 服务器心搏函数 520" g. t; S: y: w2 |
24.6 小结 524
; }# K8 ^) e. [$ I4 o) z: m习题 524
, L! u0 y2 W) V4 r( j第 25章 信号驱动式I O 525" d9 _2 E, t, w8 C' }* v
25.1 概述 5252 M+ s9 f- _ M6 A
25.2 套接字的信号驱动式I O 525# f+ z2 `1 l! v# P7 H1 H
25.3 使用SIGIO的UDP回射服务器程序 527+ h6 d. C3 J8 D# m
25.4 小结 532
8 U( @0 @6 F. U, c! w习题 533
2 {# o3 K6 H& A第 26章 线程 534& f( f' ^4 R4 a
26.1 概述 534
+ x$ Y; l c* u6 e q' B7 y& V26.2 基本线程函数:创建和终止 5353 G* V$ ^: b$ X$ t! U
26.3 使用线程的str_cli函数 537
% o3 |1 e+ K0 [9 Z; s; ]2 [26.4 使用线程的TCP回射服务器程序 538
4 v/ N/ n, [2 y& Q26.5 线程特定数据 5426 ~4 \3 U" G5 m- m
26.6 Web客户与同时连接 549
4 c; w# k) g, f9 ]26.7 互斥锁 552
7 A/ O+ m. a/ f9 _) |9 V4 j2 h ~26.8 条件变量 555' R; T9 l1 v' U& R' a
26.9 Web客户与同时连接(续) 558
8 l/ b# K! F: _. N3 o& L26.10 小结 560
8 E6 h! S9 G5 y* O4 p! ^5 b习题 5608 N* E! j: i! b! ^1 w* h
第 27章 IP选项 5610 ]9 ?, a- k- f( g& k% E
27.1 概述 561
/ t; Z* d; k! ^* K; x- X' e27.2 IPv4选项 5619 Z) ~* r3 g5 G7 ^
27.3 IPv4源路径选项 562$ j1 }2 [% o, L
27.4 IPv6扩展 569: I8 P$ x3 c; m. L/ b
27.5 IPv6步跳选项和目的地选项 569
% `* ]1 Z! ]9 @( I' Y27.6 IPv6路由 573
: B6 N' i; \7 ]7 D! D$ B5 O) |27.7 IPv6粘附选项 577
9 |; T; U2 \% h8 n27.8 历史性IPv6高级API 5784 H' Q+ S2 U: E0 H. @, F+ V1 J/ S% @
27.9 小结 579
) x/ S) `1 U5 l% ]7 O& E S* B习题 579" G( e1 U7 j" s/ W
第 28章 原始套接字 580! I0 T3 l/ l) @
28.1 概述 580
% m& \8 j4 t4 G$ s$ d) {6 `: X28.2 原始套接字创建 5809 N: I# O1 m6 L( j) q; @" M. I d
28.3 原始套接字输出 5811 `& e; J" s3 W- z8 }6 h
28.4 原始套接字输入 582
# O s+ @' D9 J28.5 ping程序 584
- d$ z/ S: b$ X8 S28.6 traceroute程序 596: R0 P" C- @' Q
28.7 一个ICMP消息守护程序 608
& ~8 x* a& c- a" o" t28.8 小结 6229 \2 F b* L$ G; H' K" M
习题 622' I2 m( z# K# |
第 29章 数据链路访问 623& [0 W: f- C/ p8 x5 K6 r
29.1 概述 6236 N, R- J- `. V, R3 V
29.2 BPF:BSD分组过滤器 623
2 F2 W. W7 Z5 q* L' ?3 @$ H& u29.3 DLPI:数据链路提供者接口 625& V6 S$ |. i- ~* H9 C. K; T
29.4 Linux:SOCK_PACKET和% v) l2 u# r4 Z7 a
PF_PACKET 626, F b; M! b8 G6 y( c
29.5 libpcap:分组捕获函数库 627
! X# o: U7 c* J& l( k( i/ l29.6 libnet:分组构造与输出函数库 627( b, a1 w! n8 \) ^9 ^" {
29.7 检查UDP的校验和字段 628 V; L; n* P5 X& p$ T
29.8 小结 6453 |- v4 E$ @0 s/ P0 s
习题 645
/ ]. ?0 H0 a5 k: X第30章 客户 服务器程序设计范式 646& e6 Y/ X2 D* U0 P$ _/ U( h! j* J
30.1 概述 6466 E1 G; {7 ]8 o/ W
30.2 TCP客户程序设计范式 648$ x+ u/ @( Y6 I3 p5 U6 i- @+ t
30.3 TCP测试用客户程序 649
9 w% ?% y$ H8 m; t& U30.4 TCP迭代服务器程序 650
1 v" Y4 z; x9 j+ Y e30.5 TCP并发服务器程序,: W7 U$ p3 k( R) S$ g1 ^) }' C# a
每个客户一个子进程 650
% h( P# Q. [8 d. j: i30.6 TCP预先派生子进程服务器程序,accept无上锁保护 653
8 Z7 t9 N" a7 Q3 k30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护 659
+ V3 _- ?+ `- V* ]7 X/ o l6 L30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护 662
# F q( |8 e A5 r9 B' i30.9 TCP预先派生子进程服务器程序,传递描述符 663) f V7 |4 R! }4 x+ X
30.10 TCP并发服务器程序,每个客户一个线程 667/ v& C# V2 {# l& w
30.11 TCP预先创建线程服务器程序,每个线程各自accept 669
. C7 E3 T* a4 ^' G, g% \$ V$ B30.12 TCP预先创建线程服务器程序,主线程统一accept 6714 G Y* S1 P ~" H" H4 ^
30.13 小结 673) C' n! v8 W( ^+ N! s
习题 674. l! A0 u6 w" G. }, b, f: D
第31章 流 675/ l/ L2 G. I; k/ l" @& n1 E
31.1 概述 675
2 Z7 h ^: z5 C2 O, ^31.2 概貌 6755 @* J! v, Y% @ Y) e3 Z: U
31.3 getmsg和putmsg函数 678
/ T2 d0 _) Q, s+ T& X$ c; t% H31.4 getpmsg和putpmsg函数 679
; @: S( y2 \8 n' [ y31.5 ioctl函数 680
" P4 W- }* p5 ^31.6 TPI:传输提供者接口 680
4 R, h: F( }$ {$ r* a1 ]31.7 小结 689! l. u8 m0 v2 Z6 X) ?
习题 689! b$ s$ J' E! U; {- @- U% l; }; e
附录A IPv4、IPv6、ICMPv4和ICMPv6 690
! O2 u; W7 c1 c/ D/ _0 D+ {附录B 虚拟网络 704* w* A1 ~" v, N# ~% [; V
附录C 调试技术 708
& u! I' Y8 b, r0 T3 ?7 E7 T附录D 杂凑的源代码 714
, b' S s9 k: r3 m4 K ?附录E 精选习题答案 7261 f6 M/ P# a' J2 u
参考文献 756
& o. C+ S7 T$ Z' _索引 7632 s: {; `6 O, Q6 I# G
百度云盘下载地址(完全免费-绝无套路):
5 _. H4 i; L; }1 j- W/ ~. b' b& g/ } |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|