注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)UNIXUNIX網(wǎng)絡(luò)編程(卷Ⅰ 套接字聯(lián)網(wǎng)API 英文版)

UNIX網(wǎng)絡(luò)編程(卷Ⅰ 套接字聯(lián)網(wǎng)API 英文版)

UNIX網(wǎng)絡(luò)編程(卷Ⅰ 套接字聯(lián)網(wǎng)API 英文版)

定 價(jià):¥99.00

作 者: (美)W.Richard Stevens等著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 經(jīng)典原版書庫(kù)
標(biāo) 簽: UNIX

ISBN: 9787111146858 出版時(shí)間: 2004-07-01 包裝: 平裝
開本: 24cm 頁(yè)數(shù): 991 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是一部UNIX網(wǎng)絡(luò)API的經(jīng)典之作!本書是為那些希望能夠通過(guò)套接字接口實(shí)現(xiàn)程序間的相互通信的人而編寫的,旨在為網(wǎng)絡(luò)編程的初學(xué)者以及專家提供指導(dǎo)。要建立高度分布式、網(wǎng)絡(luò)化的應(yīng)用程序和服務(wù),就需要對(duì)套接字和其他關(guān)鍵的網(wǎng)絡(luò)API有深入的理解。本書為在各種環(huán)境下建立健壯的、高性能的網(wǎng)絡(luò)系統(tǒng)提供了全面的指導(dǎo)?!懊總€(gè)人都會(huì)喜歡這本書,因?yàn)樗峁┝舜罅康膶?shí)踐經(jīng)驗(yàn)、歷史觀點(diǎn)以及只有對(duì)此領(lǐng)域深入研究才能獲得的深刻理解。我在閱讀這本書的過(guò)程中獲得了享受并學(xué)到了知識(shí),相信你一定也會(huì)的?!薄猄amLeffler本書是一部UNIX網(wǎng)絡(luò)API的經(jīng)典之作!本書是為那些希望能夠通過(guò)套接字接口實(shí)現(xiàn)程序間的相互通信的人而編寫的,旨在為網(wǎng)絡(luò)編程的初學(xué)者以及專家提供指導(dǎo)。要建立高度分布式、網(wǎng)絡(luò)化的應(yīng)用程序和服務(wù),就需要對(duì)套接字和其他關(guān)鍵的網(wǎng)絡(luò)API有深入的理解。本書為在各種環(huán)境下建立健壯的、高性能的網(wǎng)絡(luò)系統(tǒng)提供了全面的指導(dǎo)。這個(gè)版本建立在W.RichardStevens的傳奇性工作的基礎(chǔ)上,由兩個(gè)最優(yōu)秀的網(wǎng)絡(luò)編程專家進(jìn)行了完全更新。討論了當(dāng)今最關(guān)鍵的標(biāo)準(zhǔn)、實(shí)現(xiàn)和技術(shù)討論的新主題包括:·POSIXSingleUNIXSpecificationVersion3·IPv6APIs(包括更新了的對(duì)IPv6/IPv4互操作性的指南)·新的SCTP傳輸協(xié)議·基于IPsec的密鑰管理套接字·FreeBSD4.8/5.1、RedHatLinux9.x、Solaris9、AIX5.x、HPUX和MaxOSX實(shí)現(xiàn)·新的網(wǎng)絡(luò)編程調(diào)試技術(shù)·源端特定的組播API,正是這個(gè)API使得IP組播開發(fā)被廣泛使用本書還更新和擴(kuò)展了Stevens對(duì)以下關(guān)鍵的UNIX網(wǎng)絡(luò)標(biāo)準(zhǔn)和技術(shù)所做的權(quán)威性的概括:·TCP和UDP傳輸·基本的和高級(jí)的套接宇,路由的和原始的套接宇·I/O:復(fù)用高級(jí)函數(shù),非阻塞和信號(hào)驅(qū)動(dòng)·守護(hù)進(jìn)程和inetd·UNIX域協(xié)議·ioctl操作·廣播和組播·線程·流·設(shè)計(jì):TCP迭代的、并發(fā)的、預(yù)先創(chuàng)建的和預(yù)先線程化的服務(wù)器作者W.RichardStevens生前力作: 《UNIX網(wǎng)絡(luò)編程(卷1):連網(wǎng)的APLs:套接字與XTI(第二版)(英文影印版)》 《UNIX網(wǎng)絡(luò)編程(卷2):進(jìn)程間通信(第二版)(英文影印版)》

作者簡(jiǎn)介

  作者:W.RichardStevens國(guó)際知名的Unix和網(wǎng)絡(luò)專家,《TCP/IP詳解》(三卷本)作者W.RichardStevens(1951-1999),是國(guó)際知名的Unix和網(wǎng)絡(luò)專家;受人尊敬的計(jì)算機(jī)圖書作家;同時(shí)他還是廣受歡迎的教師和顧問(wèn)。Stevens先生1951年生于贊比亞,他的家庭曾多次搬遷,最終定居于南非。早年,他就讀于美國(guó)弗吉尼亞州的費(fèi)什本軍事學(xué)校,后獲得密歇根大學(xué)學(xué)士、亞利桑那大學(xué)系統(tǒng)工程碩士和博士學(xué)位。他曾就職于基特峰國(guó)家天文臺(tái),從事計(jì)算機(jī)編程;還曾在康涅狄格州紐黑文市的健康系統(tǒng)國(guó)際公司任主管計(jì)算機(jī)服務(wù)的副總裁。Stevens先生不幸病逝于1999年9月1日,他的離去是計(jì)算機(jī)界的巨大損失。UNIX環(huán)境高級(jí)編程(第2版)>>更多作品

圖書目錄

Part1. Introduction and TCP/IP
Chapter1. Introduction
1.1  Introduction  3
1.2  A Simple Daytime Client  6
1.3  Protocol Independence  10
1.4  Error Handling: Wrapper Functions  11
1.5  A Simple Daytime Server  13
1.6  Roadmap to Client/Server Examples in the Text  16
1.7  OSI Model  !8
1.8  BSD Networking History  20
1.9  Test Networks and Hosts  22
1.10  Unix Standards  25
1.11  64-Bit Architectures  28
1.12  Summary  29
 Chapter 2.  The Transport Layer: TCP, UDP, and SCTP
2.1  Introduction  31
2.2  The Big Picture  32
2.3  User Datagram Protocol (UDP)  34
2.4  Transmission Control Protocol (TCP)  35
2.5  Stream Control Transmission Protocol (SCTP)  36
2.6  TCP Connection Establishment and Termination  37
2.7  TIME_WAIT State  43
2.8  SCTP Association Establishment and Termination  44
2.9  Port Numbers  50
2.10  TCP Port Numbers and Concurrent Servers  52
2.11  Buffer Sizes and Limitations  55
2.12  Standard Internet Services  61
2.13  Protocol Usage by Common Internet Applications  62
2.14  Summary  63
 Part 2. Elementary Sockets
 Chapter 3.  Sockets Introduction
 3.1  Introduction  67
 3.2  Socket Address Structures  67
 3.3  Value-Result Arguments  74
 3.4  Byte Ordering Functions  77
 3.5  Byte Manipulation Functions  80
 3.6  inet_aton, inet_addr, and inet_ntoa Functions  82
 3.7  inet_pton and inet_ntop Functions  83
 3.8  sock_ntop and Related Functions  86
 3.9  readn, writen, and readline Functions  88
 3.10  Summary  92
 Chapter 4.  Elementary TCP Sockets
 4.1  Introduction  9,5
 4.2  socket Function  95
 4.3  connect Function  99
 4.4  bind Function  101
 4.5  listen Function  104
 4.6  accept Function  109
 4.7  fork and exec Functions  111
 4.8  Concurrent Servers  114
 4.9  close Function  117
 4.10  getsockname and getpeername Functions  117
 4.11  Summary  120
 Chapter 5,  TCP Client/Server Example
 5.1  Introduction  121
 5.2  TCP Echo Server: main Function  122
 5.3  TCP Echo Server: str echo Function  123
 5.4  TCP Echo Client: main Function  124
 5.5  TCP Echo Client: str cli Function  125
 5.6  Normal Startup  126
 5.7  Normal Termination  128
 5.8  POSIX Signal Handling  129
 5.9  Handling SIGCHLD Signals  132
 5.10  wait and waitpid Functions  135
 5.11  Connection,Abort before accept Returns  139
 5.12  Termination of Server Process  141
 5.13  SIGPIPE Signal  142
 5.14  Crashing of Server Host  144
 5.15  Crashing and Rebooting of Server Host  144
 5.16  Shutdown of Server Host  145
 5.17  Summary of TCP Example  146
 5.18  Data Format  147
 5.19  Summary  151
 Chapter 6.  I/O Multiplexing: The select and poll Functions
 6.1  Introduction  153
 6.2  I/O Models  154
 6,3  select Function  160
 6.4  str_cli Function (Revisited)  167
 6.5  Batch Input and Buffering  169
 6.6  shutdown Function  172
 6.7  str eli Function (Revisited Again)  173
 6.8  TCP Echo Server (Revisited)  175
 6.9  pselect Function  181
 6.10  poll Function  182
 6.11  TCP Echo Server (Revisited Again)  185
 6.12  Summary  188
 Chapter 7.  Socket Options
 7.1  Introduction  191
 7.2  getsockopt and setsockopt Functions  192
 7.3  Checking if an Option Is Supported and Obtaining the Default
 7.4  Socket States  198
 7.5  Generic Socket Options  198
 7.6  IPv4 Socket Options  214
 7.7  ICMPv6 Socket Option  216
 7.8  IPv6 Socket Options  216
 7.9  TCP Socket Options  219
 7.10  SCTP Socket Options  222
 7.11  fcnt1 Function  233
 7.12  Summary  236
 Chapter 8.  Elementary UDP Sockets
 8.1  Introduction  239
 8.2  recvfrom and sendto Functions  240
 8.3  UDP Echo Server: main Function  241
 8.4  UDP Echo Server: dg_echo Function  242
 8.5  UDP Echo Client: main Function  244
 8.6  UDP Echo Client: dg_cli Function  245
 8.7  Lost Datagrams  245
 8.8  Verifying Received Response  246
 8.9  Server Not Running  248
 8.10  Summary of UDP Example  250
 8.11  connect Function with UDP  252
 8.12  dg_cli Function (Revisited)  256
 8,13  Lack of Flow Control with UDP  257
 8.14  Determining Outgoing Interface with UDP  261
 8.15  TCP and UDP Echo Server Using select  262
 8.16  Summary  264
 Chapter 9.  Elementary SCTP Sockets
 9.1  Introduction  267
 9.2  Interface Models  268
 9.3  sctp_bindx Function  272
 9.4  sctp_connectx Function  274
 9.5  sctp_getpaddrs Function  275
 9.6  sctp_freepaddrs Function  275
 9.7  sctp_get laddrs Function  275
 9.8  sctp_freeladdrs Function  276
 9.9  sctp_sendmsg Function  276
 9.10  sctp_recvmsg Function  277
 9.11  sctp_opt_info Function  278
 9.12  sctp_peeloff Function  278
 9.13  shutdown Function  278
 9.14  Notifications  280
 9.15  Summary  286
 Chapter10.  SCTP Client/Server Example
10.1  Introduction  287
10.2  SCTP One-to-Many-Style Streaming Echo Server: main Function
10.3  SCTP One-to-Many-Style Streaming Echo Client: main Function
10.4  SCTP Streaming Echo Client: str_cli Function  292
10.5  Exploring Head-of-Line Blocking  293
10.6  Controlling the Number of Streams  299
10.7  Controlling Termination  300
10.8  Summary  301
 Chapter11.  Name and Address Conversions
11.1  Introduction  303
11.2  Domain Name System (DNS)  303
11.3  gethostbyname Function  307
11.4  gethostbyaddr Function  310
11.5  getservbyname and getservbyport Functions  311
11.6  getaddrinfo Function  315
11.7  gai_strerror Function  320
11.8  freeaddrinfo Function  321
11.9  getaddrinfo Function: IPv6  322
11.10  getaddrinfo Function: Examples  324
11.11  host serv Function  325
11.12  tcp_connect Function  326
11.13  tcp_listen Function  330
11.14  udp_client Function  334
11.15  udp_connect Function  337
11.16  udp_server Function  338
11.17  getnameinfo Function  340
11.18  Re-entrant Functions  341
11.19  gethostbyname_r and gethostbyaddr_r Functions  344
11.20  Obsolete IPv6 Address Lookup Functions  346
11.21  Other Networking Information  348
11.22  Summary  349
 Part 3. Advanced Sockets
 Chapter12.  IPv4 and IPv6 Interoperability
12.1  Introduction  353
12.2  IPv4 Client, IPv6 Server  354
12.3  IPv6 Client, IPv4 Server  357
12.4  IPv6 Address-Testing Macros  360
12.5  Source Code Portability  361
12.6  Summary  362
 Chapter13.  Daemon Processes and the inetd Superserver
13.1  Introduction  363
13.2  syslogd Daemon  364
13.3  syslo9 Function  365
13.4  daemon init Function  367
13.5  inetd Daemon  371
13.6  daemon inetd Function  377
13.7  Summary  379
 Chapter14.  Advanced I/O Functions
14.1  Introduction  381
14,2  Socket Timeouts  381
14.3  recv and send Functions  387
14.4  readv and writev Functions  389
14.5  recvmsg and sendmsg Functions  390
14,6  Ancillary Data  395
14.7  How Much Data Is Queued?  398
14.8  Sockets and Standard I/O  399
14.9  Advanced Polling  402
14.10  Summary  408
 Chapter15.  Unix Domain Protocols  411
15.1  Introduction  411
15.2  Unix Domain Socket Address Structure  412
15.3  socketpair Function  414
15.4  Socket Functions  415
15.5  Unix Domain Stream Client/Server  416
15.6  Unix Domain Datagram Client/Server  418
15.7  Passing Descriptors  420
15.8  Receiving Sender Credentials  429
15.9  Summary  432
 Chapter16.  Nonblocking I/O    435
16.1  Introduction  435
16.2  Nonblocking Reads and Writes: str cli Function (Revisited)  437
16.3  Nonblocking connect  448
16.4  Nonblocking connect: Daytime Client  449
16.5  Nonblocking connect: Web Client  452
16.6  Nonblocking accept  461
16.7  Summary  463
 Chapter17.  ioct1 Operations    465
17.1  Introduction  465
17.2  ioctl Function  466
17.3  Socket Operations  466
17.4  File Operations  468
17.5  Interface Configuration  468
17.6  get ifi info Function  469
17.7  Interface Dperations  480
17.8  ARP Cache Operations  481
17.9  Routing Table Operations  483
17.10  Summary  484
 Chapter18.  Routing Sockets   485
18.1  Introduction  485
18.2  Datalink Socket Address Structure  486
18.3  Reading and Writing  487
18.4  sysctl Operations  495
18.5  get_ifi_info Function (Revisited)  500
18.6  Interface Name and Index Functions  504
18.7  Summary  508
 Chapter19.  Key Management Sockets511
19.1  Introduction  511
19.2  Reading and Writing  512
19.3  Dumping the Security Association Database (SADB)  514
19.4  Creating a Static Security Association (SA)  517
19.5  Dynamically Maintaining SAs  524
19.6  Summary  528
  Chapter 20.  Broadcasting 529
20.1  Introduction  529
20.2  Broadcast Addresses  531
20.3  Unicast versus Broadcast  532
20.4  dg_cli Function Using Broadcasting  535
20.5  Race Conditions  538
20.6  Summary  547
 
Chapter 21.  Multicasting  549
 21.1  Introduction  549
 21.2  Multicast Addresses  549
 21.3  Multicasting versus Broadcasting on a LAN  553
 21.4  Multicasting on a WAN  556
 21.5  Source-Specific Multicast  558
 21.6  Multicast Socket Options  559
 21.7  mcast_join and Related Functions  565
 21.8  dg_cli Function Using Multicasting  570
 21.9  Receiving IP Multicast Infrastructure Session Announcements  571
 21.10  Sending and Receiving  575
 21.11  Simple Network Time Protocol (SNTP)  579
 21.12  Summary  584
 
Chapter 22.  Advanced UDP Sockets  587
 22.1  Introduction  587
 22.2  Receiving Flags, Destination IP Address, and Interface Index  588
 22.3  Datagram Truncation  594
 22.4  When to Use UDP Instead of TCP  594
 22.5  Adding Reliability to a UDP Application  597
 22.6  Binding Interface Addresses  608
 22.7  Concurrent UDP Servers  612
 22.8  IPv6 Packet Information  615
 22.9  IPv6 Path MTU Control  618
 22.10  Summary  620
 
Chapter 23.  Advanced SCTP Sockets 621
 23.1  Introduction  621
 23.2  An Autoclosing One-to-Many-Style Server  621
 23.3  Partial Delivery  622
 23.4  Notifications  625
 23.5  Unordered Data  629
 23.6  Binding a Subset of Addresses  630
 23.7  Determining Peer and Local Address Information  631
 23.8  Finding an Association ID Given an IP Address  635
 23.9  Heartbeating and Address Failure  636
 23.10  Peeling Off an Association  637
 23.11  Controlling Timing  639
 23.12  When to Use SCTP Instead of TCP  641
 23.13  Summary  643
 
Chapter 24.  Out-of-Band Data    645
 24.1  Introduction  645
 24.2  TCP Out-of-Band Data  645
 24.3  sockatmark Function  654
 24.4  TCP Out-of-Band Data Recap  661
 24.5  Summary  662
 Chapter 25.  Signal-Driven I/O663
 25.1  introduction  663
 25.2  Signal-Driven I/O for Sockets  664
 25.3  UDP Echo Server Using SIGIO  666
 25.4  Summary  672
 
Chapter 26.  Threads   675
 26.1  Introduction  675
 26.2  Basic Thread Functions: Creation and Termination  676
 26.3  str cli Function Using Threads  679
 26.4  TcP-Echo Server Using Threads  681
 26.5  Thread-Specific Data  686
 26.6  Web Client and Simultaneous Connections (Continued)  694
 26.7  Mutexes: Mutual Exclusion  697
 26.8  Condition Variables  701
 26.9  Web Client and Simultaneous Connections (Continued)  705
 26.10  Summary  707
 
Chapter 27.  IP Options  709
 27.1  Introduction  709
 27.2  IPv4 Options  709
 27.3  IPv4 Source Route Options  711
 27.4  I Pv6 Extension Headers  719
 27.5  IPv6 Hop-by-Hop Options and Destination Options  719
 27.6  IPv6 Routing Header  725
 27.7  IPv6 Sticky Options  731
 27.8  Historical IPv6 Advanced API  732
 27.9  Summary  733
 
Chapter 28.  Raw Sockets 735
 28.1  introduction  735
 28.2  Raw Socket Creation  736
 28.3  Raw Socket Output  737
 28.4  Raw Socket Input  739
 28.5  ping Program  741
 28.6  traceroute Program  755
 28.7  An ICMP Message Daemon  769
 28.8  Summary  786
 
Chapter 29.  Datalink Access    787
 29.1  Introduction  787
 29.2  BSD Packet Filter (BPF)  788
 29.3  Datalink Provider Interface (DLPI)  790
 29.4  Linux: SOCK' PACKET and PF PACKET  791
 29.5  libpcap: Packet Capture Library  792
 29.6  libnet: Packet Creation and Injection Library  793
 29.7  Examining the UDP Checksum Field  793
 29.8  Summary  815
 
Chapter 30.  Client/Server Design Alternatives  817
 30.1  Introduction  817
 30.2  TCP Client Alternatives  819
 30.3  TCP Test Client  820
 30.4  TCP Iterative Server  821
 30.5  TCP Concurrent Server, One Child per Client  822
 30.6  TCP Preforked Server, No Locking Around accept  826
 30.7  TCP Preforked Server, File Locking Around accept  832
 30.8  TCP Preforked Server, Thread Locking Around accept  835
 30.9  TCP Preforked Server, Descriptor Passing  836
 30.10  TCP Concurrent Server, One Thread per Client  842
 30.11  TCP Prethreaded Server, per-Thread accept  844
 30.12  TCP Prethreaded Server, Main Thread accept  846
 30.13  Summary  849
 
Chapter 31.  STREAMS   851
 31.1  Introduction  851
 31.2  Overview  851
 31.3  getmsg and putmsg Functions  856
 31.4  getpmsg and putpmsg Functions  857
 31.5  ioctl Function  857
 31.6  Transport Provider Interface (TPI)  858
 31.7  Summary  868
 Appendix A.  IPv4, IPv6, ICMPv4, and ICMPv6  869
A.1  Introduction  869
A.2  IPv4 Header  869
A.3  IPv6 Header  871
A.4  IPv4 Addresses  874
A.5  IPv6 Addresses  877
A.6  Internet Control Message Protocols (ICMPv4 and ICMPv6)  882
 Appendix B.  Virtual Networks   885
B.1  Introduction  885
B.2  The MBone  885
B.3  The 6bone  887
B.4  IPv6 Transition: 6to4  889
 Appendix C.  Debugging Techniques  891
 C.1  System Call Tracing  891
 C.2  Standard Internet Services  893
 0.3  sock Program  893
 C.4  Small Test Programs  896
 C.5  tcpdump Program  896
 C.6  netstat Program  896
 C.7  lsof Program  897
 Appendix D.  Miscellaneous Source Code   899
 D.1  unp.h Header  899
 D.2  config, h Header  904
 D.3  Standard Error Functions  910
 Appendix E.  Solutions to Selected Exercises  913
 Bibliography  947
 Index 955

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)