|
Java电子书:UNIX网络编程 卷1 套接字联网API 第3版 格式 pdf 电子书 PDF 电子书 Java吧 java8.com. G/ I( V/ M1 e6 a) W
1 a0 ~" b4 P) W3 L: t6 C
( `+ a) ~3 ]$ k, {9 P/ C
编号:mudaima-P0313【Java吧 java8.com】; U0 ~2 H" ?- ?! {& k
! [) @( B7 G8 g: M8 K8 T4 L* B1 V
& J* }' m$ t. [' ZJava电子书目录:第 一部分 简介和TCP IP/ J5 y( E: E/ m+ F D3 l
第 1章 简介 2: A b/ y. k' V; V. z
1.1 概述 2
* m, J% i% i1 p" r1.2 一个简单的时间获取客户程序 5( T9 L% K; q( A u4 L
1.3 协议无关性 91 J3 y( F6 {9 c7 q2 x
1.4 错误处理:包裹函数 100 l+ S" |/ G* B+ r* X
1.5 一个简单的时间获取服务器程序 12
3 [. c7 x! ]! f# G! \ Y2 G) v) B1.6 本书中客户 服务器程序示例索引表 14
l. h3 I# H7 |8 w8 ?+ a; I/ U( }* y1.7 OSI模型 16
+ n1 D' T9 Z) y7 D" w9 H' s1.8 BSD网络支持历史 17( n8 d/ [2 G' i! N/ {0 r$ ]
1.9 测试用网络及主机 197 |# T% X; j; }- y2 n2 @
1.10 Unix标准 22
8 u+ q" o) @& }- S6 H2 c% ~$ A1.11 64位体系结构 24
% b" m0 |& d7 p0 z' [, F1.12 小结 25
+ h' [; [& t! y# b) B习题 256 n' Y# ?; j' ~- y. Z. z2 K9 M
第 2章 传输层:TCP、UDP和SCTP 27
8 Z. |* C4 `$ }3 a) K2.1 概述 27# h; S$ ?* r! L4 k6 G
2.2 总图 27. w2 D: W, x: e1 c; O- j: P
2.3 用户数据报协议(UDP) 29- r0 Z0 h- L+ Z+ g0 a5 l U" @
2.4 传输控制协议(TCP) 30; F# J1 I( B5 d p. G
2.5 流控制传输协议(SCTP) 31: c7 t1 T0 T0 [0 h4 k% x% }) y+ e
2.6 TCP连接的建立和终止 31
9 [2 |2 S* X* t, }5 p5 q j2.7 TIME_WAIT状态 37
/ u8 X- e# c6 K$ T( c6 C2.8 SCTP关联的建立和终止 38! E; h! f* k3 ~$ M# Z2 e
2.9 端口号 42& q! C# H* b+ Z3 k+ J7 ^, A& W
2.10 TCP端口号与并发服务器 43+ F: Y1 L! I# f; P' m+ f
2.11 缓冲区大小及限制 45. o" ^7 `* L- [- L" b- A0 C
2.12 标准因特网服务 50
/ q0 Y O. \+ u- a; S+ T! S2.13 常见因特网应用的协议使用 51
. S% i% f& \1 |8 h5 e+ ^6 k2 {2.14 小结 52
4 c! X" d6 J: P1 \+ E习题 53
, v- Y: n) y/ R* j第二部分 基本套接字编程
8 _& m3 S% e3 Y7 B+ r) k第3章 套接字编程简介 56
! r7 p, }2 Z9 P& z3.1 概述 56
2 t& \: ^9 O v# X; P% K9 A) R3.2 套接字地址结构 56
2 s4 C) p3 m, p3.3 值—结果参数 61; W. n8 d# P, Y" c' G% }
3.4 字节排序函数 63+ G3 S# D1 A1 J+ o, D
3.5 字节操纵函数 669 n& B& [/ X, n' @$ w \/ X
3.6 inet_aton、inet_addr和inet_ntoa函数 67
' [+ U8 Y6 A" U" ^' k3 h3.7 inet_pton和inet_ntop函数 68" z5 _2 ]+ H9 D/ }4 _
3.8 sock_ntop和相关函数 70
/ ?/ f+ X" ~0 e0 Y' @3.9 readn、writen和readline函数 72
; \4 M) h% `( E/ T3.10 小结 76) r/ _- q! q/ k; w* u
习题 76
* R: o9 t" J+ q; R V) ~第4章 基本TCP套接字编程 77' ^# ~8 C/ h! ^/ Z' o' G
4.1 概述 774 ?3 @/ f8 S9 q& l( M
4.2 socket函数 77
6 e8 B8 g4 u- n2 i4.3 connect函数 80
2 E4 }) d+ K F4 H S- H4.4 bind函数 81
& Z! r* I8 Y" g4.5 listen函数 84* |( b: {1 Z# p: F a
4.6 accept函数 882 V8 T$ _) E2 n8 q; h/ ^5 E
4.7 fork和exec函数 90
9 G; H* ]1 E$ e- q1 l9 I4 A: e9 {8 y4.8 并发服务器 91
9 B& B& \* m. J) t& m. f- X; c: W! A4.9 close函数 93
( T# o }- g1 f) J# p X, r+ d4.10 getsockname和getpeername函数 94
* v, x* j6 _8 O% G) f4.11 小结 96
6 Q, @- `9 L3 N6 H9 w/ t6 @* T! n习题 96
6 x$ o j: X7 l3 o: u8 j+ d第5章 TCP客户 服务器程序示例 97
3 ~* L2 D+ j1 v9 j8 w5.1 概述 97' M) I7 y# u, @5 {$ _5 `. x" k7 u
5.2 TCP回射服务器程序:main函数 97/ z; A' K4 w- [1 d2 J& }
5.3 TCP回射服务器程序:str_echo函数 983 v1 T6 w2 z1 e/ ^) d2 M
5.4 TCP回射客户程序:main函数 992 I. V Z' Z' P0 w: Y4 H# H
5.5 TCP回射客户程序:str_cli函数 1004 f2 _4 M: H. ~7 d0 t
5.6 正常启动 101+ P3 D* c9 O0 a! ~( k2 b
5.7 正常终止 102. l8 X7 ]) s/ \" ^7 r/ U
5.8 POSIX信号处理 103
5 U6 ^+ o/ ~3 I# _# ^/ y7 K5.9 处理SIGCHLD信号 1064 H5 m! f+ c. n! v
5.10 wait和waitpid函数 108" x7 P5 r5 f. ~. N9 s/ i8 c4 }
5.11 accept返回前连接中止 111! c6 i- c; f, m1 _% T
5.12 服务器进程终止 1126 B, S& |# \, Z+ u9 o M
5.13 SIGPIPE信号 113
" s7 S( P4 c! g( R9 S" E I& t5.14 服务器主机崩溃 114' a6 B+ _2 m3 P1 d# F/ L7 n
5.15 服务器主机崩溃后重启 1159 K4 W; s$ ]$ W; w1 R
5.16 服务器主机关机 116
% m2 A2 ~5 z& D: Q: q5.17 TCP程序例子小结 116& P% c6 u; j9 d ?$ w
5.18 数据格式 117( G" [2 {6 M$ Q& J8 r! Y$ m
5.19 小结 1204 Q2 c) { ~* o* W- y- T: o) _
习题 120: [6 \" F* ^( M0 Y. s4 U5 I( I
第6章 I O复用:select和poll函数 122
/ v& U% z3 E8 v. n' U7 h# ^5 b6.1 概述 122) F7 I/ z2 x3 g, o8 ]
6.2 I O模型 122
; Q1 ^" ~4 M* @6.3 select函数 127# r6 Z; I8 R8 m# t- C
6.4 str_cli函数(修订版) 132# V0 g1 `+ ?. r" H
6.5 批量输入 133
5 ~/ [# v* o0 s8 ]# n& r. A6 ?6.6 shutdown函数 136
: k" W a' ^6 B% S( r) `* A, [2 R6.7 str_cli函数(再修订版) 137
# C7 B/ C# n6 T" I! K9 i% q6.8 TCP回射服务器程序(修订版) 138 _2 n, W& y6 H% w# [- h' k$ {
6.9 pselect函数 142
! s2 m: Y0 l& v' o: T% T+ {9 z/ d9 T e6.10 poll函数 144- C3 p" j3 [' J+ v# M$ [6 d
6.11 TCP回射服务器程序(再修订版) 146 ?/ B7 |, c0 m/ l5 O% v) {
6.12 小结 148
. r$ p& t; j/ ?! X7 k( D习题 149
' a4 @) j- E/ ~6 y# b& V' I第7章 套接字选项 150
; J0 x$ n' D7 a# L0 J. Q7.1 概述 1503 L; u! w9 [, \3 w4 H
7.2 getsockopt和setsockopt函数 150
# ?$ o8 N) M) [: X* }* m' n7.3 检查选项是否受支持并获取默认值 152
5 J2 }" m4 [3 M: k: V' A) B- m7.4 套接字状态 156
# ?- \8 ?6 k7 k* [" ]: l$ T3 |7.5 通用套接字选项 156* x/ c) i/ B! ?: ]
7.6 IPv4套接字选项 168
& t1 U8 m! ^; \' U( a$ r8 N7.7 ICMPv6套接字选项 169: b6 g; d( o7 v0 O8 u$ H/ M
7.8 IPv6套接字选项 1696 t" _( } e7 E/ b2 b/ Z
7.9 TCP套接字选项 171. F' R6 Q' P3 c! Z( y
7.10 SCTP套接字选项 173
. w! o+ G7 z! `7 S7.11 fcntl函数 1822 A6 v, e/ |# a
7.12 小结 184
# E7 A, z7 X. q习题 184
# ]% m3 \7 G4 b8 m6 r% m, Z) c3 B第8章 基本UDP套接字编程 186: e1 ^ n- A& v" T9 D$ w- M
8.1 概述 186, W( S, |0 q% A. _1 T) o
8.2 recvfrom和sendto函数 187 B/ L+ Z( L% {3 B) H: S
8.3 UDP回射服务器程序:main函数 187
3 |& d* @6 h) E! C3 w8.4 UDP回射服务器程序:dg_echo函数 188& c2 J( U ^$ x5 W9 V# Z
8.5 UDP回射客户程序:main函数 190) d) l. ~" C S. U/ J1 M$ i
8.6 UDP回射客户程序:dg_cli函数 1908 K$ X0 e1 r7 h1 ~7 `3 v
8.7 数据报的丢失 191 ?5 j p6 u7 M: g
8.8 验证接收到的响应 1913 [( S/ v1 K; P
8.9 服务器进程未运行 193
5 L; f% l3 _$ d0 `8.10 UDP程序例子小结 194
s7 W# T6 z4 Q8 o4 `: l* @4 Q5 s8.11 UDP的connect函数 196
) A# T) q# d& c1 y& |) u/ k! E8.12 dg_cli函数(修订版) 1994 r4 z& g8 g9 A5 _1 K( a2 B
8.13 UDP缺乏流量控制 200" ^& |& e4 i# `3 C' n; ^' s
8.14 UDP中的外出接口的确定 2034 y+ Y) I, K0 c( h
8.15 使用select函数的TCP和UDP回射服务器程序 204
. Q* {8 U4 \* v8.16 小结 206- @2 L8 }: c+ p- _0 j# x
习题 207
( [. C7 h; ^, t* ?$ l" C0 u3 B第9章 基本SCTP套接字编程 208
1 R ~; A$ h) I% V% Q& h9.1 概述 208
7 ^! X4 P5 ]5 Q, g9.2 接口模型 208+ D E& F/ A3 d/ ~3 Z
9.3 sctp_bindx函数 212
3 J0 q# Y5 c# G2 k9.4 sctp_connectx函数 2132 l6 F' h& A5 E/ ~( Y7 R
9.5 sctp_getpaddrs函数 2137 @ G: y( i" w3 \/ B6 ^
9.6 sctp_freepaddrs函数 213
' M* Z( ~$ w1 R& s) h9.7 sctp_getladdrs函数 214$ {% u6 o& g8 K( T. y* b
9.8 sctp_freeladdrs函数 214' @3 ?% G) @/ ?0 |& K
9.9 sctp_sendmsg函数 214 c6 o9 Y. q6 R( I; Y: X7 O( B y1 q
9.10 sctp_recvmsg函数 215! e+ X2 u5 n4 e6 ], N
9.11 sctp_opt_info函数 215
! G2 X5 [% r' {3 p/ C5 }1 A9.12 sctp_peeloff函数 216: t) S/ i0 k9 \. `' }, b- f; Y5 n, w
9.13 shutdown函数 216) F+ B, A, M1 P4 {7 W
9.14 通知 217/ Z9 R3 i: o% p* u- u
9.15 小结 221
7 R. c, d0 X/ M& C) ^习题 222
. v- f/ |2 P7 ?: ~. m第 10章 SCTP客户 服务器程序例子 223* v D3 i! ~; @; u# p' Z, [- z
10.1 概述 2232 a4 y; ^8 l; J; {) E" f( h
10.2 SCTP一到多式流分回射服务器程序:main函数 223. Q) L4 N2 k) I3 `0 {
10.3 SCTP一到多式流分回射客户程序:main函数 2258 s( I4 @% m& Y7 w. R
10.4 SCTP流分回射客户程序:sctpstr_cli函数 2262 t, {0 q7 v% O0 J1 {5 N: P
10.5 探究头端阻塞 228% O3 v u( I4 t: f6 o1 s* u, Z
10.6 控制流的数目 233
3 \9 F1 E7 v2 M; W& |% O10.7 控制终结 2331 V& H; o$ d* `8 p8 m6 L9 v
10.8 小结 234
; m3 A7 { X7 z/ U习题 235/ I6 f! u. N" F f- |
第 11章 名字与地址转换 236
8 ~; i% H( K" e6 _; s( j11.1 概述 2369 }7 |. w% o7 J0 ^/ q# J8 g( u7 x9 P
11.2 域名系统 236) t% ~7 a0 w _; v1 `0 i4 H! |* L: S
11.3 gethostbyname函数 2390 I, X/ \# I0 ~- L, {2 b. h
11.4 gethostbyaddr函数 242
+ p4 L, G" k3 G; @1 p N11.5 getservbyname和getservbyport函数 242
1 k. m/ W" |0 u. X+ ^9 A+ \11.6 getaddrinfo函数 245* R; g5 ?1 E7 y' S" h( g
11.7 gai_strerror函数 2503 {: D# e; u0 s: D3 j$ P! h
11.8 freeaddrinfo函数 251
: F! n5 r$ `3 c11.9 getaddrinfo函数:IPv6 251% L. P: Y" S' Z6 U3 s
11.10 getaddrinfo函数:例子 253
) ~& v8 t9 M6 z4 ~& h z11.11 host_serv函数 254
* t7 K9 k) F7 Y' B7 k8 j11.12 tcp_connect函数 2546 K( ?+ ]' E3 Q+ p4 Z' r
11.13 tcp_listen函数 257
$ ]: E- P& {, l- l% ^11.14 udp_client函数 261* l+ K2 E0 f; c
11.15 udp_connect函数 2635 s2 O; e$ P/ P5 @+ X8 o X
11.16 udp_server函数 264: o. |) H% e$ {$ M
11.17 getnameinfo函数 266
+ q: G: s" H. ]11.18 可重入函数 267/ N3 m. r0 l3 l1 T
11.19 gethostbyname_r和gethostbyaddr_r函数 270
2 F0 r4 ?' b: F! }* v* c11.20 作废的IPv6地址解析函数 271
) n" p( I0 G" C5 Q6 @/ [11.21 其他网络相关信息 2724 u6 i7 O- ?# g; B- ~& ?
11.22 小结 2736 C, m1 T7 Q. i6 I# D1 r
习题 274
- L$ l1 h0 y$ j0 n第三部分 高级套接字编程
n0 j l6 }* w7 |3 Q第 12章 IPv4与IPv6的互操作性 278
; H" P+ A C+ r# g/ k12.1 概述 278
$ w; C9 S, u( z$ O+ c* D8 I12.2 IPv4客户与IPv6服务器 278
9 }8 u H& C2 E) X$ g12.3 IPv6客户与IPv4服务器 281
3 r- w Z7 p* f8 n12.4 IPv6地址测试宏 283
" \# _( Y, e; G9 B' o1 N12.5 源代码可移植性 284
4 }6 P$ K& v" V) M/ ?! f7 [7 P12.6 小结 284/ e' E" S1 ?1 w2 s
习题 285
/ [" x j, {9 r" R/ e" |第 13章 守护进程和inetd超级服务器 286 T0 G* N8 u y, I
13.1 概述 286
, S& _, h( c0 I13.2 syslogd守护进程 286, R T' `1 P+ C& G9 m8 m4 r. D
13.3 syslog函数 287! J" f. Q2 g2 `+ L* X0 y4 b
13.4 daemon_init函数 289
7 X; v8 X1 o, K M3 _, ^9 W13.5 inetd守护进程 293
9 h9 U" z) G6 \9 Z' V, c3 Y& X% T13.6 daemon_inetd函数 2972 Y1 s& C7 o+ D
13.7 小结 2994 B7 w+ O! d1 b- T1 a
习题 299
8 A& g9 \' F8 h9 p$ d第 14章 高级I O函数 300' Y2 O& H& Z" g* x
14.1 概述 300- E4 N' c6 n% x
14.2 套接字超时 300
7 X5 ^; Z j4 g- V( G2 N' k14.3 recv和send函数 305
) c% ?% O, S2 G3 A6 _14.4 readv和writev函数 306* ~, _7 U; k! `* C4 \
14.5 recvmsg和sendmsg函数 3072 A# H) p& D3 j& q h- ~
14.6 辅助数据 310* o* P8 X4 U9 B' T
14.7 排队的数据量 313
1 M# w) C) k. j6 \, j/ a" H14.8 套接字和标准I O 3139 m! ]4 l0 [: X8 a
14.9 高级轮询技术 316
, I7 R) z$ o( h P# H0 C14.10 T TCP:事务目的TCP 320
" i- i, i, u* C* L0 D' E# [14.11 小结 322
- |# ~9 w; z0 ^) X" q8 @习题 323
+ l+ p/ j& [* W! _第 15章 Unix域协议 324- f, Q. r" v1 G, u4 s, r0 ]$ R% }
15.1 概述 324" q- I$ G& p" ~: R
15.2 Unix域套接字地址结构 324& i+ C8 U O7 c* q- ]. v$ Q4 n; L
15.3 socketpair函数 326# c! S$ u) q7 i3 d
15.4 套接字函数 327
) \7 A! e4 N/ }2 {15.5 Unix域字节流客户 服务器程序 327) g3 ?# ~' k g+ b
15.6 Unix域数据报客户 服务器程序 329
3 a' A e3 K6 z. `% G15.7 描述符传递 330
' V( [% O+ n, T& {' P& q15.8 接收发送者的凭证 337
: u9 M! M# c7 v2 ^0 W& `, P7 t# Z, n% U15.9 小结 340
+ x" z' M6 `* g9 x7 `习题 3402 O; [' C! q' P6 h/ n$ h2 y8 M
第 16章 非阻塞式I O 341
. C3 J& X: ]3 {& j. x/ L16.1 概述 341
6 G/ ]6 i0 f: Z% h$ \: i) W' j16.2 非阻塞读和写:str_cli函数
4 N; i: u- g$ h' v2 B V7 ~0 |" t(修订版) 342! U( Y$ A4 Z9 w# B8 I" I
16.3 非阻塞connect 351! J/ ^/ W0 e- }6 N
16.4 非阻塞connect:时间获取客户
3 U7 Y `) f; D0 L9 ^程序 352! h- E$ @# b) q( A5 q% f1 K
16.5 非阻塞connect:Web客户程序 3541 f' v6 Y& ?9 \& |
16.6 非阻塞accept 362
$ k" J7 Q2 j( O0 Q16.7 小结 363% T3 |9 D T/ ^5 Y a
习题 363
4 j: W$ V, I# J" b第 17章 ioctl操作 365
+ Q# }, r- R z# h* A9 n+ B( N17.1 概述 365- \: n. _ F2 r, M* v
17.2 ioctl函数 365
- ?. R/ H5 Z5 S6 S) o% G. k17.3 套接字操作 366
: T4 P4 ?: e! Z# o6 }. `% g: a17.4 文件操作 367. g% A- j% n2 p
17.5 接口配置 367, x& w0 R. A/ Z- v: g
17.6 get_ifi_info函数 369
) h. \% f! g( X0 [17.7 接口操作 3783 E1 N5 ]! K/ b+ y3 K
17.8 ARP高速缓存操作 3788 D1 |0 N+ c0 h/ z7 Y
17.9 路由表操作 380, A3 T; U; u' f3 k
17.10 小结 381( b& U: y$ Y Z( h2 ?7 _
习题 381
6 _6 q" z0 n$ B第 18章 路由套接字 382
( S2 a' X, k+ y1 ]0 x18.1 概述 382
) k$ d0 j7 G3 x1 v! ?- p9 a18.2 数据链路套接字地址结构 382
8 P8 w* A9 A8 e' k( Z6 d4 |18.3 读和写 383
: Z8 y/ n: p+ f0 m }18.4 sysctl操作 390
; K) U2 O8 S# N' E5 b18.5 get_ifi_info函数 394
% @' _1 W2 ]+ }6 S1 j% }2 n18.6 接口名字和索引函数 397
1 V$ `7 q3 O# y$ \) v, }18.7 小结 401
" X( U }- O! w4 ^4 Y习题 401$ m- Q* V5 \ |5 _0 n. g
第 19章 密钥管理套接字 402
/ v/ a* x+ m- w2 H y19.1 概述 402
0 W# z( y0 c/ J5 y19.2 读和写 403! a4 V: F, D) Y- s3 j
19.3 倾泻安全关联数据库 4048 r( K; G2 i4 R
19.4 创建静态安全关联 4079 j( c& e4 h9 S3 q
19.5 动态维护安全关联 412: s) D2 p7 `. P
19.6 小结 415
8 F/ J2 w$ I: b7 D5 J习题 4168 V( z& [. Q0 N* I
第 20章 广播 417/ k- I# P1 m4 P- G; J, D9 D5 N
20.1 概述 417
" [0 i0 a$ G8 k' R8 [20.2 广播地址 418, ?8 @& s3 f0 i1 l' r; }- b
20.3 单播和广播的比较 419
7 X8 ]+ g0 L+ f) \0 T+ j* t20.4 使用广播的dg_cli函数 422) R% s; ^3 I b9 h5 e% R
20.5 竞争状态 4242 t0 @ K' g) W) X. G
20.6 小结 431
^2 K6 `3 G# E) z' ]习题 432
/ l7 l. i6 h4 H: `5 t第 21章 多播 4330 R/ d$ D- }0 E3 M4 a
21.1 概述 433% Q, I$ g) v J _* s( Q- l
21.2 多播地址 433
0 H) @5 q# `7 h* R# z% u$ ^8 R21.3 局域网上多播和广播的比较 436
6 E4 g6 I# S2 W21.4 广域网上的多播 438% C3 E% D* W/ }' I* q; f) a* N, P
21.5 源特定多播 440; n" ^( I& o0 h
21.6 多播套接字选项 441
6 n6 X5 F2 d; q6 w21.7 mcast_join和相关函数 445
* n. @' f4 y" k4 a21.8 使用多播的dg_cli函数 450
1 B: M0 b) i4 Q0 _4 D21.9 接收IP多播基础设施会话声明 451
- n7 _ C2 F6 ^/ d4 G4 U21.10 发送和接收 4541 {2 d' F. \6 P* g# o% a0 M
21.11 SNTP:简单网络时间协议 4573 [/ k9 C# l& E$ P& N6 |" a3 K
21.12 小结 461/ ~8 g/ s; I9 V/ K' U
习题 461
* ~$ [3 s/ }2 E5 I8 o第 22章 高级UDP套接字编程 4627 z, E* j. }7 N& W9 N' G4 z, i& x
22.1 概述 4626 ?5 O: ^1 {5 T
22.2 接收标志、目的IP地址和接口索引 462/ d. ~, g6 i7 g
22.3 数据报截断 467- }8 ]5 C& c0 c/ j
22.4 何时用UDP代替TCP 467$ L* f& `$ H) S& q! d- Z
22.5 给UDP应用增加可靠性 4698 \ A" }4 v8 C2 y
22.6 捆绑接口地址 478
3 i( l1 L# b; G22.7 并发UDP服务器 482
4 i: k3 B' {1 A7 Y- c22.8 IPv6分组信息 483
- W8 y* T9 x% a( P4 X3 s, u8 a# e22.9 IPv6路径MTU控制 486( v% d0 Q* j% T3 Z" `# L) ^7 ]
22.10 小结 487
* N6 w2 A5 P( q" y6 T* O' v习题 4887 u R! |( Y; K3 c
第 23章 高级SCTP套接字编程 489
8 @0 T0 \5 [6 Z# F3 O23.1 概述 4897 O5 H7 x- j. i! A Q/ r' l: d9 R
23.2 自动关闭的一到多式服务器程序 489" I/ S# g6 b$ |9 Q5 P8 O5 N4 O
23.3 部分递送 490
/ v) x$ j/ l- n7 v23.4 通知 492
: D7 i! @4 F) I, z23.5 无序的数据 495- X) ]9 a. y% @
23.6 捆绑地址子集 496
8 p( \; O1 B2 L+ P& g23.7 确定对端和本端地址信息 497
" D# u6 m3 S: J) Q9 }" _ n8 V23.8 给定IP地址找出关联ID 500! {* |3 M8 P6 S( Y( M+ B
23.9 心搏和地址不可达 5019 [$ Y) v+ \0 p' B5 r3 |! ^
23.10 关联剥离 502
- V: d. q' d1 P, k$ B* ^23.11 定时控制 503
2 l. |8 V% Y: \1 f" A, O23.12 何时改用SCTP代替TCP 505
9 V1 O* @1 S4 f- ?1 X! u23.13 小结 5065 T: \' c: C/ [) `1 p& i9 @0 A) o
习题 506
; y0 Z4 j( Z9 a: W! f% T$ m第 24章 带外数据 507( U0 L* [8 ]- [0 p6 n# ? [
24.1 概述 5071 ]; K. V! }6 [9 ~8 K6 d, y5 k4 E
24.2 TCP带外数据 5073 J& _( w' n# l( Z! z
24.3 sockatmark函数 513; q* M" j* k8 x" T! ^8 j; l
24.4 TCP带外数据小结 519/ \8 a4 o; B# U% x6 T3 Z
24.5 客户 服务器心搏函数 520
. W6 L, X4 o# ~24.6 小结 524 }3 {; f: b( F, z" _1 e& X" S
习题 524
# J i# |- k5 j第 25章 信号驱动式I O 525* b9 I$ N8 W! k w; N# l1 d
25.1 概述 525
& ]1 a* K& v* N* a* L9 ]25.2 套接字的信号驱动式I O 5253 Y0 t0 O# {( j5 }" x1 z( M5 E
25.3 使用SIGIO的UDP回射服务器程序 527
$ s5 H7 z# E1 r0 p2 X. t- M6 S25.4 小结 532
$ N) _ r) @, v4 [ N- S习题 5333 z8 r. j% Q# J3 h
第 26章 线程 534
) s, e& q# N# `5 {7 E26.1 概述 534$ `' B0 k2 A: R) K3 w# ^- {& ]" m
26.2 基本线程函数:创建和终止 535& @& T! d, K$ O- U+ z+ i
26.3 使用线程的str_cli函数 5378 D0 I6 l( m& O: i( H- Q
26.4 使用线程的TCP回射服务器程序 538
& Q# N9 ^9 t9 @3 A/ ~/ L# \" {26.5 线程特定数据 542+ ?) `: J, K* K* ?+ ~& e
26.6 Web客户与同时连接 549* O2 U8 q( h1 Y ^$ S5 Z' d s
26.7 互斥锁 552
+ O+ k7 {) Q m$ H( G26.8 条件变量 555
9 t. X6 H2 T7 U1 O9 t26.9 Web客户与同时连接(续) 5585 G1 K$ {9 C2 r) h
26.10 小结 560
) T2 M# t0 t) A2 Z. W习题 560; I4 V. |3 T( @$ `, a
第 27章 IP选项 561
, Z" L6 d. o6 x, x2 d27.1 概述 561
% ? B4 g% z% d27.2 IPv4选项 561
' q- M& T, `$ m% B' j0 Q D27.3 IPv4源路径选项 5628 H1 Z; i. ^ a
27.4 IPv6扩展 569
/ o2 e6 q. s0 L7 A- e) h27.5 IPv6步跳选项和目的地选项 569
' m: R4 q. w$ o1 A5 r6 O27.6 IPv6路由 573
: K. Q- e& E! D5 S" A27.7 IPv6粘附选项 577
) n6 ]% P" u; w" L+ Y' L8 P27.8 历史性IPv6高级API 578
8 [$ K2 [; q9 {) L0 a7 Q9 d27.9 小结 579
4 J2 k0 ?+ O9 m H- f/ f) F. ?习题 5792 d' y. L6 l. ]9 v# a% r9 e$ T9 a, {. L
第 28章 原始套接字 580
' p# P; G7 C1 m" c$ V, `28.1 概述 580
$ N1 m+ A8 |8 B' A( I1 R28.2 原始套接字创建 5808 G+ [; G& \8 ^$ M$ s
28.3 原始套接字输出 581
$ N! k% b0 O: L1 l% F28.4 原始套接字输入 5829 k2 _9 Z7 | E( N1 E9 A
28.5 ping程序 584
6 [" i; H5 L) a! V: u28.6 traceroute程序 596
; j H2 S3 e7 U# v6 H28.7 一个ICMP消息守护程序 608
J. N# O( f2 _6 L; w c28.8 小结 622) I% g/ d. C& Y6 l# }6 B" x
习题 622
& S) Y( ]. C* _2 |第 29章 数据链路访问 623
7 z" ~7 R! u0 J4 ?9 B29.1 概述 623
# a- ^, M2 F% e- G1 |3 w3 m8 j" M5 ^29.2 BPF:BSD分组过滤器 623; H k# r: y0 x* J
29.3 DLPI:数据链路提供者接口 625+ g- O; B5 W5 `5 G) W$ L
29.4 Linux:SOCK_PACKET和
; s* Z4 V9 [+ r) T8 ]PF_PACKET 626. r, H W7 m# J9 d, y6 e
29.5 libpcap:分组捕获函数库 6275 V! W# R% l& c9 |4 z
29.6 libnet:分组构造与输出函数库 627
$ ]1 Y# O i2 o8 ^. S' o( F29.7 检查UDP的校验和字段 6289 J8 f% {3 w: \6 E. s' s
29.8 小结 645: V2 G. L L- d& ?
习题 645
7 ~ T& ?9 a6 ^$ P& r6 q0 `0 a; z第30章 客户 服务器程序设计范式 6464 b. l3 I. n: t6 d
30.1 概述 646
G/ q: E m Y% j30.2 TCP客户程序设计范式 648" [" ]' |5 T3 ? n8 Z. i$ |% ~
30.3 TCP测试用客户程序 6490 G+ C0 q) H4 q
30.4 TCP迭代服务器程序 6502 E& {$ I5 |) W3 H/ w$ d4 @; ^3 v, H
30.5 TCP并发服务器程序,
+ [+ j9 k9 o$ B' v S; @# s5 [9 ^& |每个客户一个子进程 650+ y; p; G0 K* z; L
30.6 TCP预先派生子进程服务器程序,accept无上锁保护 653
7 t9 V; k$ I0 D- ?* T( W3 g3 `30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护 659
" `% N* [/ }0 z+ ?30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护 6627 D% Z/ Y- Q% l' J6 g
30.9 TCP预先派生子进程服务器程序,传递描述符 663
: z3 P& e( v3 d! I30.10 TCP并发服务器程序,每个客户一个线程 6673 y" Z. n5 l, p. O- [
30.11 TCP预先创建线程服务器程序,每个线程各自accept 669
5 S; z8 `$ l9 G/ r' @) w7 c# u* e! \30.12 TCP预先创建线程服务器程序,主线程统一accept 671
% d& g( L' b. V2 o; V n3 T: N30.13 小结 673
+ ^2 `: N1 y' T8 C. ?习题 6746 j A) G- x* ]% S
第31章 流 675
9 S, `0 R q1 x& L9 D* B31.1 概述 675
7 T( v: ]$ s0 ^% K. C9 ^3 W31.2 概貌 675
" p% V+ v5 K5 j1 T/ v4 ]31.3 getmsg和putmsg函数 678
2 R# B3 y2 n i/ S2 t {! \31.4 getpmsg和putpmsg函数 679- E9 f5 l8 B, x C. R+ }" ^
31.5 ioctl函数 680" y/ i; ]" R+ A, f; k
31.6 TPI:传输提供者接口 6809 ~% |& g* J1 l) N( I) P& R9 b
31.7 小结 689& c( [/ Z, m% b: z+ @ N0 D; W
习题 689
3 n: j% R- _( h3 n6 H; N4 Q附录A IPv4、IPv6、ICMPv4和ICMPv6 690
" W" N- k h4 s2 d/ S& N* K附录B 虚拟网络 704' l) X' w3 M/ v, g. j9 L! P0 {
附录C 调试技术 7088 O$ X: S* G% D5 _0 x4 R: n
附录D 杂凑的源代码 714
4 H/ B& L$ u: K! r [* N2 O+ f! v附录E 精选习题答案 726
+ C# i8 i: j: m. S) Q参考文献 756: B+ ]$ t# b3 W5 e, Z: ]7 l6 |
索引 763( P- v+ c8 b4 P# E& z
百度云盘下载地址(完全免费-绝无套路): w; U9 Z9 [5 W2 z# ~8 P( c& S
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|