图书介绍
UNIX网络编程 卷1 连网的API 套接字与XTI 第2版 英文PDF|Epub|txt|kindle电子书版本网盘下载
- (美)(W.R.史蒂文斯)W.Richard Stevens著 著
- 出版社: 北京:清华大学出版社
- ISBN:7302029423
- 出版时间:1998
- 标注页数:1009页
- 文件大小:29MB
- 文件页数:1032页
- 主题词:
PDF下载
下载说明
UNIX网络编程 卷1 连网的API 套接字与XTI 第2版 英文PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Part 1.Introduction and TCP/IP1
Chapter 1.Introduction3
1.1 Introduction3
1.2 A Simple Daytime Client6
1.3 Protocol Independence9
1.4 Error Handling:Wrapper Functions11
1.5 A Simple Daytime Server13
Contents15
Preface15
1.6 Road Map to Client-Server Examples in the Text16
1.7 OSI Model18
1.8 BSD Networking History19
1.9 Test Networks and Hosts20
1.10 Unix Standards24
1.11 64-bit Architectures27
1.12 Summary28
Chapter2.The Transport Layer:TCP and UDP29
2.1 Introduction29
2.2 The Big Picture30
2.3 UDP:User Datagram Protocol32
2.4 TCP:Transmission Control Protocol32
2.5 TCP Connection Establishment and Termination34
2.6 TIME WAIT State40
2.7 Port Numbers41
2.8 TCP Port Numbers and Concurrent Servers44
2 9 Buffer Sizes and Limitations46
2.10 Standard Internet Services50
2.11 Prctocol Usage by Common Internet Applications52
2.12 Summary52
Part 2.Elementary Sockets55
Chapter 3.Sockets Introduction57
3.1 Introduction57
3.2 Socket Address Structures57
3.3 Value-Result Arguments63
3.4 Byte Ordering Functions66
3.5 Byte Manipulation Functions69
3.6 inet_aton,inet_addr,and inet_ntoa Functions70
3.7 inet_poton and inet_ntop Functions72
3.8 sock_ntop and Related Functions75
3.9 readn,writen,and readline Functions77
3.10 isfdtype Function81
3.11 Summary82
Chapter 4.Elementary TCP Sockets85
4.1 Introduction85
4.2 socket Function85
4.3 connect Function89
4.4 bind Function91
4.5 listen Function93
4.6 accept Function99
4.7 fork and exec Functions102
4.8 Concurrent Servers104
4.9 close Function107
4.10 getsockname and getpeername Functions107
4.11 Summary110
Chapter 5.TCP Client-Server Example111
5.1 Introduction111
5.2 TCP Echo Server:main Function112
5.3 TCP Echo Server:str_echo Function113
5.4 TCP Echo Client:main Function113
5.5 TCP Echo Client:str_cli Function115
5.6 Normal Startup115
5.7 Normal Termination117
5.8 Posix Signal Handling119
5.9 Handling SIGCHLD Signals122
5.10 wait and waitpid Functions124
5.11 Connection Abort before accept Returns129
5.12 Termination of Server Process130
5.13 SIGPIPE Signal132
5.14 Crashing of Server Host133
5.15 Crashing and Rebooting of Server Host134
5.16 Shutdown of Server Host135
5.17 Summary of TCP Example135
5.18 Data Format137
5.19 Summary140
6.1 Introduction143
Chapter 6.I/O Multiplexing:The select and poll Functions143
6.2 I/O Models144
6.3 select Function150
6.4 str_cli Function(Revisited)155
6.5 Batch Input157
6.6 shutdown Function160
6.7 str_cli Function(Revisited Again)161
6.8 TCP Echo Server(Revisited)162
6.9 pselect Function168
6.10 poll Function169
6.11 TCP Echo Server(Revisited Again)172
6.12 Summary175
7.1 Introduction177
Chapter 7.Socket Options177
7.2 getsockopt and setsockopt Functions178
7.3 Checking If an Option Is Supported and Obtaining the Default178
7.4 Socket States183
7.5 Generic Socket Options183
7.6 IPv4 Socket Options197
7.7 ICMPv6 Socket Option199
7.8 IPv6 Socket Options199
7.9 TCP Socket Options201
7.10 fcntl Function205
7.11 Summary207
8.1 Introduction211
Chapter 8.Elementary UDP Sockets211
8.2 recvfrom and sendto Functions212
8.3 UDP Echo Server:main Function213
8.4 UDP Echo Senver:dg_echo Function214
8.5 UDP Echo Client:main Function216
8.6 UDP Echo Client:dg_c1i Function217
8.7 Lost Datagrams217
8.8 Verifying Received Response218
8.9 Server Not Running220
8.10 Summary of UDP example221
8.11 connect Function with UDP224
8.12 dg_cli Function(Revisited)227
8.13 Lack of Flow Control with UDP228
8.14 Determining Outgoing Interface with UDP231
8.15 TCP and UDP Echo Server Using select233
8.16 Summary235
Chapter 9.Elementary Name and Address Conversions237
9.1 Introduction237
9.2 Domain Name System237
9.3 gethostbyname Function240
9.4 RES_USE_INET6 Resolver Option245
9.5 gethostbyname2 Function and IPv6 Support246
9.6 gethostbyaddr Function248
9.7 uname Function249
9.8 gethostname Function250
9.9 getservbyname and getservbyport Functions251
9.10 Other Networking Information255
9.11 Summary256
Part 3.Advanced Sockets259
Chapter 10.IPv4 and IPv6 Interoperability261
10.1 Introduction261
10.2 IPv4 Client,IPv6 Server262
10.3 IPv6 Client,IPv4 Server265
10.4 IPv6 Address Testing Macros267
10.5 IPV6_ADDRFORM Socket Option268
10.6 Source Code Portability270
10.7 Summary271
11.2 getaddrinfo Function273
Chapter 11.Advanced Name and Address Conversions273
11.1 Introduction273
11.3 gai_strerror Function278
11.4 freeaddrinfo Function279
11.5 getaddrinfo Function:IPv6 and Unix Domain279
11.6 getaddrinfo Function:Examples282
11.7 host_serv Function284
11.8 tcp_connect Function285
11.9 tcp_listen Function288
11.10 udp_client Function293
11.11 udp_connect Function295
11.12 udp_server Function296
11.13 getnameinfo Function298
11.14 Reentrant Functions300
11.15 gethostbyname_r and gethostbyaddr_r Functions303
11.16 Implementation of getaddrinfo and getnameinfo Functions305
11.17 Summary328
Chapter 12.Daemon Processes and inetd Superserver331
12.1 Introduction331
12.2 syslogd Daemon332
12.3 syslog Function333
12.4 daemon_init Function335
12.5 inetd Daemon339
12.6 daemon_inetd Function344
12.7 Summary346
13.2 Socket Timeouts349
Chapter 13.Advanced I/O Functions349
13.1 Introduction349
13.3 recv and send Functions354
13.4 readv and writev Functions357
13.5 recvmsg and sendmsg Functions358
13.6 Ancillary Dafa362
13.7 How Much Data Is Queued?365
13.8 Sockets and Standard I/O366
13.9 T/TCP:TCP for Transactions369
13.10 Summary371
Chapter 14.Unix Domain Protocols373
14.1 Introduction373
14.2 Unix Domain Socket Address Structure374
14.3 socketpair Function376
14.4 Socket Functions377
14.5 Unix Domain Stream Clienf-Server378
14.6 Unix Domain Datagram Client-Server379
14.7 Passing Descriptors381
14.8 Receiving Sender Credentials390
14.9 Summary394
Chapter 15.Nonblocking I/0397
15.1 Introduction397
15.2 Nonblocking Reads and Writes:str_cli Function(Revisited)399
15.3 Nonblocking connect409
15.4 Nonblocking connect:Daytime Client410
15.5 Nonblocking connect:Web Client413
15.6 Nonblocking accept422
15.7 Summary424
Chapter 16.ioctl Operations425
16.1 Introduction425
16.2 ioctl Function426
16.3 Socket Operations426
16.4 File Operations427
16.5 Interface Configuration428
16.6 get_ifi_info Function429
16.7 Interface Operations439
16.8 ARP Cache Operations440
16.9 Routing Table Operations442
16.10 Summary443
Chapter 17.Routing Sockets445
17.1 Introduction445
17.2 Datalink Socket Address Structure446
17.3 Reading and Writing447
17.4 sysctl Operations454
17.5 get_ifi_info Function459
17.6 Interface Name and Index Functions463
17.7 Summary467
Chapter 18.Broadcasting469
18.1 Introduction469
18.2 Broadcast Addresses470
18.3 Unicast versus Broadcast472
18.4 dg_cli Function Using Broadcasting475
18.5 Race Conditions478
18.6 Summary486
Chapter 19.Multlcasting487
19.1 Introduction487
19.2 Multicast Addresses487
19.3 Multicasting versus Broadcasting on A LAN490
19.4 Multicasting on a WAN493
19.5 Multicast Socket Options495
19.6 mcast_join and Related Functions499
19.7 dg_cli Function Using Multicasting502
19.8 Receiving MBone Session Announcements504
19.9 Sending and Receiving507
19.10 SNTP:Simple Network Time Protocol510
19.11 SNTP(Continued)515
19.12 Summary528
Chapter 20.Advanced UDP Sockets531
20.1 Introduction531
20.2 Receiving Flags,Destination IP Address,and Interface Index532
20.3 Datagram Truncation539
20.4 When to Use UDP Instead Of TCP539
20.5 Adding Reliability to a UDP Application542
20.6 Binding Interface Addresses553
20.7 Concurrent UDP Servers557
20.8 IPv6 Packet Information560
20.9 Summary562
Chapter 21.Out-of-Band Data565
21.1 Introduction565
21.2 TCP Out-of-Band Data565
21.3 sockatmark Function572
21.4 TCP Out-of-Band Data Summary580
21.5 Client-Server Heartbeat Functions581
21.6 Summary586
Chapter 22.Signal-Driven I/O589
22.1 Introduction589
22.2 Signal-Driven I/O for Sockets590
22.3 UDP Echo Server Using SIGIO592
22.4 Summary598
23.1 Introduction601
Chapter 23.Threads601
23.2 Basic Thread Functions:Creation and Termination602
23.3 str_cli Function Using Threads605
23.4 TCP Echo Server Using Threads607
23.5 Thread-Specific Data611
23.6 Web Client and Simultaneous Connections(Continued)620
23.7 Mutexes:Mutual Exclusion622
23.8 Condition Variables627
23.9 Web Client and Simultaneous Connections(Continued)631
23.10 Summary633
24.2 IPv4 Options635
Chapter 24.IP Options635
24.1 Introduction635
24.3 IPv4 Source Route Options637
24.4 IPv6 Extension Headers645
24.5 IPv6 Hop-by-Hop Options and Destination Options645
24.6 IPv6 Routing Header649
24.7 IPv6 Sticky Options653
24.8 Summary654
Chapter 25.Raw Sockets655
25.1 Introduction655
25.2 Raw Socket Creation656
25.3 Raw Socket Output657
25.4 Raw Socket Input659
25.5 Ping Program661
25.6 Traceroute Program672
25.7 An ICMP Message Daemon685
25.8 Summary702
Chapter 26.Datalink Access703
26.1 Introduction703
26.2 BPF:BSD Packet Filter704
26.3 DLPI: Data Link Provider Interface706
26.4 Linux:SOCK_PACKET707
26.5 libpcap:Packet Capture Library707
26 6 Examining the UDP Checksum Field708
26.7 Summary725
27.1 Introduction727
Chapter 27.Ciient-Server Design Alternatives727
27.2 TCP Client Altematives730
27.3 TCP Test Client730
27.4 TCP Iterative Server732
27.5 TCP Concurrent Server,One Child per Client732
27.6 TCP Preforked Server,No Locking around accept736
27.7 TCP Preforked Server,File Locking around accept742
27.8 TCP Preforked Server,Thread Locking around accept745
27.9 TCP Preforked Server,Descriptor Passing746
27.10 TCP Concurrent Server,One Thread per Client752
27.11 TCP Prethreaded Server,per-Thread accept754
27.12 TCP Prethreaded Server,Main Thread accept756
27.13 Summary759
Part 4.XTI:X/Open Transport Interface761
Chapter 28.XTI:TCP Clients763
28.1 Introduction763
28.2 t_open Function764
28.3 t_error and t_strerror Functions767
28.4 netbuf Structures and XTI Structures769
28.5 t_bind Function770
28.6 t_connect Function772
28.7 t_rcv and t_snd Functions773
28.8 t_look Function774
28.9 t_sndrel and t_rcvrel Functions775
28.10 t_snddis and t_rcvdis Functions777
28.11 XTI TCP Daytime Client778
28.12 xti_rdwr Function781
28.13 Summary782
Chapter 29.XTl:Name and Address Functions783
29.1 Introduction783
29.2 /etc/netconfig File and netconfig Functions784
29.3 NETPATH Variable and netpath Functions785
29.4 netdir Functions786
29.5 t_alloc and t_free Functions788
29.6 t_getprotaddr Functions790
29.7 xti_ntop Function791
29.8 top_connect Function792
29.9 Summary796
30.1 Introduction797
Chapter 30.XTI:TCP Servers797
30.2 t_listen Function799
30.3 tcp_listen Function800
30.4 t_accept Function802
30.5 xti_accept Function803
30.6 Simple Daytime Server804
30.7 Multiple Pending Connections806
30.8 xti_accept Function(Revisited)808
30.9 Summary816
31.1 Introduction819
31.2 t_rcvudata and t_sndudata Functions819
Chapter 31.XTI:UDP Clients and Servers819
31.3 udp_client Function820
31.4 t_rcvuderr Function:Asynchronous Errors824
31.5 udp_server Function826
31.6 Reading a Datagram in Pieces829
31.7 Summary831
Chapter 32.XTI Options833
32.1 Introduction833
32.2 t_opthdr Structure835
32.3 XTI Options837
32.4 t_optmgmt Function840
32.5 Checking If an Option Is Supported and Obtaining the Default841
32.6 Getting and Setting XTI Options844
32.7 Summary848
Chapter 33.Streams849
33.1 Introduction849
33.2 Overview850
33.3 getmsg and putmsg Functions854
33.4 getpmsg and putpmsg Functions855
33.5 ioctl Function855
33.6 TPI:Transport Provider Interface856
33.7 Summary866
Chapter 34.XTI:Additional Functions867
34.1 Introduction867
34.2 Nonbiocking I/O867
34.3 t_rcvconnect Function868
34.4 t_getinfo Function869
34.5 t_getstate Function869
34.6 t_sync Function870
34.7 t_unbind Function872
34.8 t_rcvv and t_rcvvudata Functions872
34.9 t_sndv and t_sndvudata Functions873
34.10 t_rcvreldata and t_sndreldata Functions874
34.11 Signal-Driven I/O874
34.12 Out-of-Band Data875
34.13 Loopback Transport Providers880
34.14 Summary881
A.2 IPv4 Header883
A.1 Introduction883
Appendix A.IPv4,IPv6,ICMPv4,and ICMPv6883
A.3 IPv6 Header885
A.4 IPv4 Addresses887
A.5 IPv6 Addresses892
A.6 ICMPv4 and ICMPv6:Internet Control Message Protocol896
Appendix B.Virtual Networks899
B.1 Introduction899
B.2 The MBone899
B.3 The 6bone901
Appendix C.Debugging Techniques903
C.1 System Call Tracing903
C.3 sock Program908
C.2 Standard Internet Services908
C.4 Small Test Programs911
C.5 tcpdump Program913
C.6 netstat Program914
C.7 lsof Program914
Appendix D.Miscellaneous Source Code915
D.1 unp.h Header915
D.2 config.h Header919
D.3 unpxti.h Header920
D.4 Standard Error Functions922
Appendix E.Solutions to Selected Exercises925
Bibliography963
Index971