UNIX网络编程 卷1
¥
32.22
2.5折
¥
129
九品
仅1件
作者[美]史蒂文斯、[美]芬纳、[美]鲁道夫 著
出版社人民邮电出版社
出版时间2009-11
版次1
装帧平装
货号A6
上书时间2024-10-30
商品详情
- 品相描述:九品
图书标准信息
-
作者
[美]史蒂文斯、[美]芬纳、[美]鲁道夫 著
-
出版社
人民邮电出版社
-
出版时间
2009-11
-
版次
1
-
ISBN
9787115215093
-
定价
129.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
991页
-
字数
1215千字
-
正文语种
简体中文,英语
-
原版书名
Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition)
-
丛书
图灵原版计算机科学系列
- 【内容简介】
-
《UNIX网络编程卷1:套接字联网API(英文版第3版)》是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。
《UNIX网络编程卷1:套接字联网API(英文版第3版)》内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
- 【作者简介】
-
W.RichardStevens(1951—1999)国际知名的UNIX和网络专家,备受赞誉的技术作家。生前著有《TCP/IP详解》(三卷)、《UNIX环境高级编程》和《UNIX网络编程》(两卷),均为不朽的经典著作。
BillFennerAT&T实验室的主要技术人员,专攻IP多播、网络管理和测量,他是IETF路由的领域主管之一,负责审批作为RFC出版的所有路由相关文档。
AndrewM.RudoffSun公司的资深软件工程师,专攻网络、操作系统内核、文件系统和高可用性软件体系结构。
- 【目录】
-
Part1IntroductionandTCP/IP1
简介和TCP/IP
Chapter1Introduction3
简介
1.1Introduction3
概述
1.2ASimpleDaytimeClient6
一个简单的时间获取客户程序
1.3ProtocolIndependence10
协议无关性
1.4ErrorHandling:WrapperFunctions11
错误处理:包装函数
1.5ASimpleDaytimeServer13
一个简单的时间获取服务器程序
1.6RoadmaptoClient/ServerExamplesintheText16
本书中客户/服务器示例的路线图
1.7OSIModel18
OSI模型
1.8BSDNetworkingHistory20
BSD网络历史
1.9TestNetworksandHosts22
测试用网络及主机
1.10UnixStandards25
Unix标准
1.1164-BitArchitectures28
64位体系结构
1.12Summary29
小结
Chapter2TheTransportLayer:TOP,UDP,andSCTP31
传输层:TCP、UDP和SCTP
2.1Introduction31
概述
2.2TheBigPicture32
全景图
2.3UserDatagramProtocol(UDP)34
用户数据报协议
2.4TransmissionControlProtocol(TCP)35
传输控制协议
2.5StreamControlTransmissionProtocol(SCTP)36
流控制传输协议
2.6TCPConnectionEstablishmentandTermination37
TCP连接的建立和终止
2.7TIME_WAITState43
TIME_WAIT状态
2.8SCTPAssociationEstablishmentandTermination44
SCTP关联的建立和终止
2.9PortNumbers50
端口号
2.10TCPPortNumbersandConcurrentServers52
TCP端口号与并发服务器
2.11BufferSizesandLimitations55
缓冲区大小及限制
2.12StandardInternetServices61
标准因特网服务
2.13ProtocolUsagebyCommonInternetApplications62
常见因特网应用所用的协议
2.14Summary63
小结
Part2ElementarySockets65
基本套接字
Chanter3SocketsIntroduction67
套接字简介
3.1Introduction67
概述
3.2SocketAddressStructures67
套接字地址结构
3.3Value-ResultArguments74
值-结果参数
3.4ByteOrderingFunctions77
字节排序函数
3.5ByteManipulationFunctions80
字节操纵函数
3.6inet_aton,inet_addr,andinet_ntoaFunctions82
inet_aton、inet_addr和inet_ntoa函数
3.7inet_ptonandinet_ntopFunctions83
inet_pton和inet_ntop函数
3.8sock_ntopandRelatedFunctions86
sock_ntop和相关函数
3.9readn,writen,andreadlineFunctions88
readn、writen和readline函数
3.10Summary92
小结
Chapter4ElementaryTCPSockets95
基本TCP套接字
4.1Introduction95
概述
4.2socketFunction95
socket函数
4.3connectFunction99
connect函数
4.4bindFunction101
bind函数
4.5listenFunction104
listen函数
4.6acceptFunction109
accept函数
4.7forkandexecFunctions111
fork和exec函数
4.8ConcurrentServers114
并发服务器
4.9closeFunction117
close函数
4.10getsocknameandgetpeernameFunctions117
getsockname和getpeername函数
4.11Summary120
小结
Chapter5TCPClient/ServerExample121
TCP客户/服务器示例
5.1Introduction121
概述
5.2TCPEchoServer:mainFunction122
TCP回送服务器程序:main函数
5.3TCPEchoServer:str_echoFunction123
TCP回送服务器程序:str_echo函数
5.4TCPEchoClient:mainFunction124
TCP回送客户程序:main函数
5.5TCPEchoClient:str_cliFunction125
TCP回送客户程序:str_cli函数
5.6NormalStartup126
正常启动
5.7NormalTermination128
正常终止
5.8POSIXSignalHandling129
POSIX信号处理
5.9HandlingSIGCHLDSignals132
处理SIGCHLD信号
5.10waitandwaitpidFunctions135
wait和waitpid函数
5.11ConnectionAbortbeforeacceptReturns139
accept返回前连接异常中止
5.12TerminationofServerProcess141
服务器进程的终止
5.13SIGPIPESignal142
SIGPIPE信号
5.14CrashingofServerHost144
服务器主机崩溃
5.15CrashingandRebootingofServerHost144
服务器主机崩溃及重启
5.16ShutdownofServerHost145
服务器主机关机
5.17SummaryofTCPExample146
TCP示例小结
5.18DataFormat147
数据格式
5.19Summary151
小结
Chapter6I/OMultiplexing:TheselectandpollFunctions153
I/O多路复用:select和poll函数
6.1Introduction153
概述
6.2I/OModels154
I/O模型
6.3selectFunction160
select函数
6.4str_cliFunction(Revisited)167
再访str_cli函数
6.5BatchInputandBuffering169
批量输入和缓冲
6.6shutdownFunction172
shutdown函数
6.7str_cliFunction(RevisitedAgain)173
三顾str_cli函数
6.8TCPEchoServer(Revisited)175
再访TCP回送服务器程序
6.9pselectFunction181
pselect函数
6.10pollFunction182
poll函数
6.11TCPEchoServer(RevisitedAgain)185
三顾TCP回送服务器程序
6.12Summary188
小结
Chapter7SocketOptions191
套接字选项
7.1Introduction191
概述
7.2getsockoptandsetsockoptFunctions192
getsockopt和setsockopt函数
7.3CheckingifanOptionIsSupportedandObtainingtheDefault194
检查选项是否被支持并获取默认值
7.4SocketStates198
套接字状态
7.5GenericSocketOptions198
通用套接字选项
7.6IPv4SocketOptions214
IPv4套接字选项
7.7ICMPv6SocketOption216
ICMPv6套接字选项
7.8IPv6SocketOptions216
IPv6套接字选项
7.9TCPSocketOptions219
TCP套接字选项
7.10SCTPSocketOptions222
SCTP套接字选项
7.11fcntlFunction233
fcntl函数
7.12Summary236
小结
Chapter8ElementaryUDPSockets239
基本UDP套接字
8.1Introduction239
概述
8.2recvfromandsendtoFunctions240
recvfrom和sendto函数
8.3UDPEchoServer:mainFunction241
UDP回送服务器程序:main函数
8.4UDPEchoServer:dg_echoFunction242
UDP回送服务器程序:dg_echo函数
8.5UDPEchoClient:mainFunction244
UDP回送客户程序:main函数
8.6UDPEchoClient:dg_cliFunction245
UDP回送客户程序:dg_cli函数
8.7LostDatagrams245
数据报的丢失
8.8VerifyingReceivedResponse246
验证接收到的响应
8.9ServerNotRunning248
服务器程序未运行
8.10SummaryofUDPExample250
UDP示例小结
8.11connectFunctionwithUDP252
UDP的connect函数
8.12dg_cliFunction(Revisited)256
再论dg_cli函数
8.13LackofFlowControlwithUDP257
UDP缺乏流量控制
8.14DeterminingOutgoingInterfacewithUDP261
UDP中的外出接口的确定
8.15TCPandUDPEchoServerUsingselect262
使用select函数的TCP和UDP回送服务器程序
8.16Summary264
小结
Chapter9ElementarySCTPSockets267
基本SCTP套接字
9.1Introduction267
概述
9.2InterfaceModels268
接口模型
9.3sctp_bindxFunction272
sctp_bindx函数
9.4sctp_connectxFunction274
sctp_connectx函数
9.5sctp_getpaddrsFunction275
sctp_getpaddrs函数
9.6sctp_freepaddrsFunction275
sctp_freepaddrs函数
9.7sctp_getladdrsFunction275
sctp_getladdrs函数
9.8sctp_freeladdrsFunction276
sctp_freeladdrs函数
9.9sctp_sendmsgFunction276
sctp_sendmsg函数
9.10sctp_recvmsgFunction277
sctp_recvmsg函数
9.11sctp_opt_infoFunction278
sctp_opt_info函数
9.12sctp_peeloffFunction278
sctp_peeloff函数
9.13shutdownFunction278
shutdown函数
9.14Notifications280
通知
9.15Summary286
小结
Chapter10SCTPClient/ServerExample287
SCTP客户/服务器示例
10.1Introduction287
概述
10.2SCTPOne-to-Many-StyleStreamingEchoServer:mainFunction288
SCTP一到多式流分回送服务器程序:main函数
10.3SCTPOne-to-Many-StyleStreamingEchoClient:mainFunction290
SCTP一到多式流分回送客户程序:main函数
10.4SCTPStreamingEchoClient:str_cliFunction292
SCTP流分回送客户程序:str_cli函数
10.5ExploringHead-of-LineBlocking293
探究头端阻塞
10.6ControllingtheNumberofStreams299
控制流的数目
10.7ControllingTermination300
控制终止
10.8Summary301
小结
Chapter11NameandAddressConversions303
名字与地址转换
11.1Introduction303
概述
11.2DomainNameSystem(DNS)303
域名系统
11.3gethostbynameFunction307
gethostbyname函数
11.4gethostbyaddrFunction310
gethostbyaddr函数
11.5getservbynameandgetservbyportFunctions311
getservbyname和getservbyport函数
11.6getaddrinfoFunction315
getaddrinfo函数
11.7gai_strerrorFunction320
gai_strerror函数
11.8freeaddrinfoFunction321
freeaddrinfo函数
11.9getaddrinfoFunction:IPv6322
getaddrinfo函数:IPv6
11.10getaddrinfoFunction:Examples324
getaddrinfo函数:示例
11.11host_servFunction325
host_serv函数
11.12tcp_connectFunction326
tcp_connect函数
11.13tcp_listenFunction330
tcp_listen函数
11.14udp_clientFunction334
udp_client函数
11.15udp_connectFunction337
udp_connect函数
11.16udp_serverFunction338
udp_server函数
11.17getnameinfoFunction340
getnameinfo函数
11.18Re-entrantFunctions341
可重入函数
11.19gethostbyname_randgethostbyaddr_rFunctions344
gethostbyname_r和gethostbyaddr_r函数
11.20ObsoleteIPv6AddressLookupFunctions346
废弃的IPv6地址解析函数
11.21OtherNetworkingInformation348
其他联网信息
11.22Summary349
小结
Part3AdvancedSockets351
高级套接字
Chapter12IPv4andIPv6Interoperability353
IPv4与IPv6的互操作性
12.1Introduction353
概述
12.2IPv4Client,IPv6Server354
IPv4客户与IPv6服务器
12.3IPv6Client,IPv4Server357
IPv6客户与IPv4服务器
12.4IPv6Address-TestingMacros360
IPv6地址测试宏
12.5SourceCodePortability361
源代码可移植性
12.6Summary362
小结
Chapter13DaemonProcessesandtheinetdSuperserver363
守护进程和inetd超级服务器程序
13.1Introduction363
概述
13.2syslogdDaemon364
syslogd守护进程
13.3syslogFunction365
syslog函数
13.4daemon_initFunction367
daemon_init函数
13.5inetdDaemon371
inetd守护进程
13.6daemon_inetdFunction377
daemon_inetd函数
13.7Summary379
小结
Chapter14AdvancedI/OFunctions381
高级I/O函数
14.1Introduction381
概述
14.2SocketTimeouts381
套接字超时
14.3recvandsendFunctions387
recv和send函数
14.4readvandwritevFunctions389
readv和writev函数
14.5recvmsgandsendmsgFunctions390
recvmsg和sendmsg函数
14.6AncillaryData395
辅助数据
14.7HowMuchDataIsQueued?398
排队的数据量
14.8SocketsandStandardI/O399
套接字和标准I/O
14.9AdvancedPolling402
高级轮询技术
14.10Summary408
小结
Chapter15UnixDomainProtocols411
Unix域协议
15.1Introduction411
概述
15.2UnixDomainSocketAddressStructure412
Unix域套接字地址结构
15.3socketpairFunction414
socketpair函数
15.4SocketFunctions415
套接字函数
15.5UnixDomainStreamClient/Server416
Unix域流客户/服务器
15.6UnixDomainDatagramClient/Server418
Unix域数据报客户/服务器
15.7PassingDescriptors420
描述符传递
15.8ReceivingSenderCredentials429
接收发送者的凭证
15.9Summary432
小结
Chapter16NonblockingI/O435
非阻塞I/O
16.1Introduction435
概述
16.2NonblockingReadsandWrites:str_cliFunction(Revisited)437
非阻塞读和写:再论str_cli函数
16.3Nonblockingconnect448
非阻塞connect
16.4Nonblockingconnect:DaytimeClient449
非阻塞connect:时间获取客户程序
16.5Nonblockingconnect:WebClient452
非阻塞connect:Web客户程序
16.6Nonblockingaccept461
非阻塞accept
16.7Summary463
小结
Chapter17ioctlOperations465
ioctl操作
17.1Introduction465
概述
17.2ioctlFunction466
ioctl函数
17.3SocketOperations466
套接字操作
17.4FileOperations468
文件操作
17.5InterfaceConfiguration468
接口配置
17.6get_ifi_infoFunction469
get_ifi_info函数
17.7InterfaceOperations480
接口操作
17.8ARPCacheOperations481
ARP高速缓存操作
17.9RoutingTableOperations483
路由表操作
17.10Summary484
小结
Chapter18RoutingSockets485
路由套接字
18.1Introduction485
概述
18.2DatalinkSocketAddressStructure486
数据链路套接字地址结构
18.3ReadingandWriting487
读和写
18.4sysctlOperations495
sysctl操作
18.5get_ifi_infoFunction(Revisited)500
get_ifi_info函数
18.6InterfaceNameandIndexFunctions504
接口名字和索引函数
18.7Summary508
小结
Chapter19KeyManagementSockets511
密钥管理套接字
19.1Introduction511
概述
19.2ReadingandWriting512
读和写
19.3DumpingtheSecurityAssociationDatabase(SADB)514
安全关联数据库的转储
19.4CreatingaStaticSecurityAssociation(SA)517
创建静态安全关联
19.5DynamicallyMaintainingSAs524
动态维护安全关联
19.6Summary528
小结
Chapter20Broadcasting529
广播
20.1Introduction529
概述
20.2BroadcastAddresses531
广播地址
20.3UnicastversusBroadcast532
单播和广播的比较
20.4dg_cliFunctionUsingBroadcasting535
使用广播的dg_cli函数
20.5RaceConditions538
竞争状态
20.6Summary547
小结
Chapter21Multicasting549
多播
21.1Introduction549
概述
21.2MulticastAddresses549
多播地址
21.3MulticastingversusBroadcastingonaLAN553
局域网上多播和广播的比较
21.4MulticastingonaWAN556
广域网上的多播
21.5Source-SpecificMulticast558
源特定多播
21.6MulticastSocketOptions559
多播套接字选项
21.7mcast_joinandRelatedFunctions565
mcast_join和相关函数
21.8dg_cliFunctionUsingMulticasting570
使用多播的dg_cli函数
21.9ReceivingIPMulticastInfrastructureSessionAnnouncements571
接收IP多播基础设施会话声明
21.10SendingandReceiving575
发送和接收
21.11SimpleNetworkTimeProtocol(SNTP)579
简单网络时间协议
21.12Summary584
小结
Chapter22AdvancedUDPSockets587
高级UDP套接字
22.1Introduction587
概述
22.2ReceivingFlags,DestinationIPAddress,andInterfaceIndex588
接收标志、目的IP地址和接口索引
22.3DatagramTruncation594
数据报截断
22.4WhentoUseUDPInsteadofTCP594
何时用UDP代替TCP
22.5AddingReliabilitytoaUDPApplication597
给UDP应用增加可靠性
22.6BindingInterfaceAddresses608
绑定接口地址
22.7ConcurrentUDPServers612
并发UDP服务器
22.8IPv6PacketInformation615
IPv6分组信息
22.9IPv6PathMTUControl618
IPv6路径MTU控制
22.10Summary620
小结
Chapter23AdvancedSCTPSockets621
高级SCTP套接字
23.1Introduction621
概述
23.2AnAutoclosingOne-to-Many-StyleServer621
自动关闭的一到多式服务器程序
23.3PartialDelivery622
部分递送
23.4Notifications625
通知
23.5UnorderedData629
无序的数据
23.6BindingaSubsetofAddresses630
绑定地址子集
23.7DeterminingPeerandLocalAddressInformation631
确定对端和本端地址信息
23.8FindinganAssociationIDGivenanIPAddress635
给定IP地址找出关联ID
23.9HeartbeatingandAddressFailure636
心搏和地址不可达
23.10PeelingOffanAssociation637
关联剥离
23.11ControllingTiming639
定时控制
23.12WhentoUseSCTPInsteadofTCP641
何时用SCTP代替TCP
23.13Summary643
小结
Chapter24Out-of-BandData645
带外数据
24.1Introduction645
概述
24.2TCPOut-of-BandData645
TCP带外数据
24.3sockatmarkFunction654
sockatmark函数
24.4TCPOut-of-BandDataRecap661
TCP带外数据小结
24.5Summary662
小结
Chapter25Signal-DrivenI/O663
信号驱动I/O
25.1Introduction663
概述
25.2Signal-DrivenI/OforSockets664
套接字的信号驱动I/O
25.3UDPEchoServerUsingSIGIO666
使用SIGIO的UDP回送服务器程序
25.4Summary672
小结
Chapter26Threads675
线程
26.1Introduction675
概述
26.2BasicThreadFunctions:CreationandTermination676
基本线程函数:创建和终止
26.3str_cliFunctionUsingThreads679
使用线程的str_cli函数
26.4TCPEchoServerUsingThreads681
使用线程的TCP回送服务器程序
26.5Thread-SpecificData686
线程特定数据
26.6WebClientandSimultaneousConnections(Continued)694
Web客户与同时连接(续)
26.7Mutexes:MutualExclusion697
互斥锁
26.8ConditionVariables701
条件变量
26.9WebClientandSimultaneousConnections(Continued)705
Web客户与同时连接(续)
26.10Summary707
小结
Chapter27IPOptions709
IP选项
27.1Introduction709
概述
27.2IPv4Options709
IPv4选项
27.3IPv4SourceRouteOptions711
IP源路径选项
27.4IPv6ExtensionHeaders719
IPv6扩展首部
27.5IPv6Hop-by-HopOptionsandDestinationOptions719
IPv6步跳选项和目的选项
27.6IPv6RoutingHeader725
IPv6路由首部
27.7IPv6StickyOptions731
IPv6粘附选项
27.8HistoricalIPv6AdvancedAPI732
历史性IPv6高级API
27.9Summary733
小结
Chapter28RawSockets735
原始套接字
28.1Introduction735
概述
28.2RawSocketCreation736
原始套接字创建
28.3RawSocketOutput737
原始套接字输出
28.4RawSocketInput739
原始套接字输入
28.5pingProgram741
ping程序
28.6tracerouteProgram755
traceroute程序
28.7AnICMPMessageDaemon769
一个ICMP消息守护进程
28.8Summary786
小结
Chapter29DatalinkAccess787
数据链路访问
29.1Introduction787
概述
29.2BSDPacketFilter(BPF)788
BSD分组过滤器
29.3DatalinkProviderInterface(DLPI)790
数据链路提供者接口
29.4Linux:SOCK_PACKETandPF_PACKET791
Linux:SOCK_PACKET和PF_PACKET
29.5libpcap:PacketCaptureLibrary792
libpcap:分组捕获函数库
29.6libnet:PacketCreationandInjectionLibrary793
libnet:分组构造与注入函数库
29.7ExaminingtheUDPChecksumField793
检查UDP的校验和字段
29.8Summary815
小结
Chapter30Client/ServerDesignAlternatives817
多种客户/服务器设计方式
30.1Introduction817
概述
30.2TCPClientAlternatives819
各种TCP客户程序设计方式
30.3TCPTestClient820
TCP测试用客户程序
30.4TCPIterativeServer821
TCP迭代服务器程序
30.5TCPConcurrentServer,OneChildperClient822
TCP并发服务器程序,每个客户一个子进程
30.6TCPPreforkedServer,NoLockingAroundaccept826
TCP预先派生子进程服务器程序,accept无上锁保护
30.7TCPPreforkedServer,FileLockingAroundaccept832
TCP预先派生子进程服务器程序,accept使用文件上锁保护
30.8TCPPreforkedServer,ThreadLockingAroundaccept835
TCP预先派生子进程服务器程序,accept使用线程上锁保护
30.9TCPPreforkedServer,DescriptorPassing836
TCP预先派生子进程服务器程序,传递描述符
30.10TCPConcurrentServer,OneThreadperClient842
TCP并发服务器程序,每个客户一个线程
30.11TCPPrethreadedServer,per-Threadaccept844
TCP预先创建线程服务器程序,每个线程各自accept
30.12TCPPrethreadedServer,MainThreadaccept846
TCP预先创建线程服务器程序,主线程统一accept
30.13Summary849
小结
Chapter31STREAMS851
31.1Introduction851
概述
31.2Overview851
概貌
31.3getmsgandputmsgFunctions856
getmsg和putmsg函数
31.4getpmsgandputpmsgFunctions857
getpmsg和putpmsg函数
31.5ioctlFunction857
ioctl函数
31.6TransportProviderInterface(TPI)858
传输提供者接口
31.7Summary868
小结
AppendixAIPv4,IPv6,ICMPv4,andICMPv6869
IPv4、IPv6、ICMPv4和ICMPv6
A.1Introduction869
概述
A.2IPv4Header869
IPv4首部
A.3IPv6Header871
IPv6首部
A.4IPv4Addresses874
IPv4地址
A.5IPv6Addresses877
IPv6地址
A.6InternetControlMessageProtocols(ICMPv4andICMPv6)882
因特网控制消息协议(ICMPv4和ICMPv6)
AppendixBVirtualNetworks885
虚拟网络
B.1Introduction885
概述
B.2TheMBone885
B.3The6bone887
B.4IPv6Transition:6to4889
IPv6过渡:6to4
AppendixCDebuggingTechniques891
调试技术
C.1SystemCallTracing891
系统调用跟踪
C.2StandardInternetServices893
标准因特网服务
C.3sockProgram893
sock程序
C.4SmallTestPrograms896
小测试程序
C.5tcpdumpProgram896
tcpdump程序
C.6netstatProgram896
netstat程序
C.7lsofProgram897
lsof程序
AppendixDMiscellaneousSourceCode899
其他源代码
D.1unp.hHeader899
unp.h头文件
D.2config.hHeader904
config.h头文件
D.3StandardErrorFunctions910
标准错误处理函数
AppendixESolutionstoSelectedExercises913
精选习题答案
Bibliography947
参考文献
Index955
索引
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价