注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具實(shí)戰(zhàn)Linux Socket編程

實(shí)戰(zhàn)Linux Socket編程

實(shí)戰(zhàn)Linux Socket編程

定 價(jià):¥36.00

作 者: Warren W.Gay著;詹俊鵠,于衛(wèi)譯
出版社: 西安電子科技大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: Linux

ISBN: 9787560610894 出版時(shí)間: 2002-01-01 包裝: 精裝
開本: 26cm 頁(yè)數(shù): 430 字?jǐn)?shù):  

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

  目前已經(jīng)有很多介紹計(jì)算機(jī)網(wǎng)絡(luò)的書籍,但是它們之中的大多數(shù)似乎更適合于高級(jí)編程者,而對(duì)于眾多只想了解使用方法的初學(xué)者而言,就顯得太深?yuàn)W了。讀者通過(guò)學(xué)習(xí)本書,可以掌握有關(guān)套接口編程的知識(shí)。同時(shí),本書使用一種稱為''''BYexample''''的方法來(lái)提高讀者的學(xué)習(xí)效率,書中每一章的內(nèi)容都是建立在前一章的基礎(chǔ)之上的。第一部分“基本套接口概念”在闡明域和地址族,套接口的類型以及面向連接/非連接協(xié)議等基本概念的基礎(chǔ)上,介紹了簡(jiǎn)單的客戶/服務(wù)器程序的編寫方法和主機(jī)名/網(wǎng)絡(luò)名查詢程序的編寫方法。在掌握了第一部分“基本套接口概念”之后,讀者就可以開始學(xué)習(xí)第二部分“高級(jí)套接口編程”,這對(duì)于有些讀者而言可能是個(gè)挑戰(zhàn)。這一部分介紹了套接口標(biāo)準(zhǔn)I/O,并發(fā)客戶服務(wù)程序,套接口選項(xiàng),UDP廣播,帶外數(shù)據(jù),inetd守護(hù)進(jìn)程,網(wǎng)絡(luò)安全程序設(shè)計(jì)以及信任狀和文件描述符等較為深入的主題;并通過(guò)最后一章的應(yīng)用實(shí)例,將前面介紹的諸多概念融合在一起。

作者簡(jiǎn)介

暫缺《實(shí)戰(zhàn)Linux Socket編程》作者簡(jiǎn)介

圖書目錄

第一部分 基本套接口概念
第一章 套接口簡(jiǎn)介
1.1 簡(jiǎn)要的歷史回顧
1.2 理解套接口
1.2.1 定義套接口
1.2.2 使用套接口
1.2.3 引用套接口
1.3 套接口和管道
1.4 創(chuàng)建套接口
1.4.1 socketpair(2)使用范例
1.4.2 運(yùn)行例程
1.5 用套接口實(shí)現(xiàn)I/O
1.6 關(guān)閉套接口
1.6.1 shutdown(2)函數(shù)
1.6.2 關(guān)閉向套接口的寫入
1.6.3 處理復(fù)制套接口
1.6.4 關(guān)閉從套接口的讀入
1.6.5 什么時(shí)候不能使用shutdown(2)
1.7 客戶/服務(wù)器應(yīng)用編程
第二章 域和地址族
2.1 無(wú)名套接口
2.2 域
2.3 生成套接口地址
2.4 生成本地地址
2.4.1 生成傳統(tǒng)本地地址
2.4.2 生成抽象本地地址
2.5 生成Internet(IPv4)套接口地址
2.5.1 理解網(wǎng)絡(luò)字節(jié)序
2.5.2 在大端/小端字節(jié)序之間實(shí)現(xiàn)轉(zhuǎn)換
2.5.3 初始化一個(gè)通配的Internet地址
2.5.4 初始化一個(gè)特定的Internet地址
2.6 生成X.25地址
2.7 生成其他地址族
2.8 AF_UNSPEC地址族
第三章 地址轉(zhuǎn)換函數(shù)
3.1 Internet IP地址
3.1.1 Internet地址分類
3.1.2 理解網(wǎng)絡(luò)掩碼
3.2 分配IP地址
3.2.1 私有IP地址
3.2.2 保留IP地址
3.3 操作IP地址
3.3.1 inet_addr(3)函數(shù)
3.3.2 inet_aton(3)函數(shù)
3.3.3 iner_ntoa(3)函數(shù)
3.3.4 inet_network(3)函數(shù)
3.3.5 inet_lnaof()函數(shù)
3.3.6 inet_netof(3)函數(shù)
3.3.7 inet_makeaddr(3)函數(shù)
第四章 套接口的類型與協(xié)議
4.1 指定套接口的域
4.1.1 PF_INET和AF_INET
4.1.2 使用PF_LOCAL和AF_LOCAL
4.2 使用socket(2)涵數(shù)
4.3 選擇套接口類型
4.3.1 理解SOCK_STREAM套接口類型
4.3.2 理解SOCK_DGRAM套接口類型
4.3.3 理解SOCK_SEQPACKET套接口類型
4.4 選擇協(xié)議
4.4.1 使用PF_LOCAL和SOCK_STREAM
4.4.2 使用PF_LOCAL和SOCK_DGRAM
4.4.3 使用PF_INET和SOCK_STREAM
4.4.4 使用PF_INET和SOCK_DGRAM
4.5 套接口Domain和Type參數(shù)的總結(jié)
4.6 Linux支持的其他協(xié)議
第五章 為套接口綁定地址
5.1 bind(2)函數(shù)的作用
5.2 使用bind(2)函數(shù)
5.3 獲得套接口地址
5.3.1 編寫函數(shù)sock_addr()
5.3.2 獲得對(duì)等套接口地址
5.4 接口與定址
5.4.1 指定接口地址的圖例
5.4.2 綁定一個(gè)特定的接口地址
5.4.3 綁定通配接口
第六章 面向非連接的協(xié)議
6.1 通信的方法
6.1.1 非連接通信的優(yōu)點(diǎn)
6.1.2 非連接通信的缺點(diǎn)
6.2 實(shí)現(xiàn)數(shù)據(jù)報(bào)的輸入和輸出
6.2.1 sendto(2)函數(shù)介紹
6.2.2 recvfrom(2)函數(shù)介紹
6.3 編寫UDP數(shù)據(jù)報(bào)服務(wù)器程序
6.4 編寫UDP數(shù)據(jù)報(bào)客戶程序
6.5 測(cè)試UDP數(shù)據(jù)報(bào)服務(wù)器/客戶程序
6.5.1 在沒(méi)有服務(wù)器的狀態(tài)下進(jìn)行測(cè)試
6.5.2 使用非缺省的IP地址進(jìn)行測(cè)試
6.5.3 在客戶程序中省略bind(2)調(diào)用
6.5.4 對(duì)通配地址的應(yīng)答
第七章 面向連接的協(xié)議——客戶端
7.1 通信方法的回顧
7.2 Internet服務(wù)
7.2.1 /etc/services文件
7.2.2 使用getservent(3)函數(shù)
7.2.3 使用setservent(3)函數(shù)
7.2.4 使用endservent(3)函數(shù)
7.2.5 通過(guò)名字和協(xié)議查詢服務(wù)
7.2.6 通過(guò)端口和協(xié)議查詢服務(wù)
7.3 /etc/protocols文件
7.3.1 使用setprotoent(3)函數(shù)
7.3.2 使用endprotoent(3)函數(shù)
7.3.3 通過(guò)名字查詢協(xié)議
7.3.4 通過(guò)協(xié)議號(hào)查詢協(xié)議
7.4 編寫TCP/IP客戶程序
7.4.1 connect(2)函數(shù)
7.4.2 為編寫客戶程序做準(zhǔn)備
7.4.3 daytime客戶程序
7.5 在SOCK_DGRAM套接口中使用connect(2)
第八章 面向連接的協(xié)議——服務(wù)器端
8.1 服務(wù)器的作用
8.2 listen(2)函數(shù)
8.2.1 監(jiān)聽隊(duì)列
8.2.2 指定backlog的值
8.3 accept(2)函數(shù)
8.4 編寫一個(gè)TCP/IP服務(wù)器程序
8.5 修改客戶程序
第九章 主機(jī)名和網(wǎng)絡(luò)名查詢
9.1 理解名字的必要性
9.2 uname(2)函數(shù)
9.3 獲取主機(jī)名和域名
9.3.1 gethostname(2)函數(shù)
9.3.2 getdomainname(2)函數(shù)
9.3.3 測(cè)試gethostname(2)函數(shù)和getdomainname(2)函數(shù)
9.4 解析遠(yuǎn)程地址
9.4.1 錯(cuò)誤報(bào)告
9.4.2 報(bào)告h_errno錯(cuò)誤
9.4.3 gethostbyname(3)函數(shù)
9.4.4 gethostbyname(3)函數(shù)應(yīng)用示例
9.4.5 gethostbyaddr(3)函數(shù)
9.4.6 sethostent(3)函數(shù)
9.4.7 endhostent(3)函數(shù)
第二部分 高級(jí)套接口編程
第十章 套接口上的標(biāo)準(zhǔn)I/O
10.1 使用標(biāo)準(zhǔn)I/O流的必要性
10.2 連接套接口與流
10.3 關(guān)閉套接口流
10.4 分開使用讀寫流
10.4.1 復(fù)制套接口
10.4.2 關(guān)閉套接口上的讀/寫流
10.5 建立通信連接
10.5.1 只關(guān)閉寫端
10.5.2 只關(guān)閉讀端
10.5.3 同時(shí)關(guān)閉讀寫端
10.6 中斷處理
10.7 定義緩沖操作
10.8 在套接口上使用FILE流
10.8.1 mkaddr()函數(shù)
10.8.2 RPN計(jì)算器引擎代碼
10.8.3 測(cè)試RPN服務(wù)器程序
第十一章 并發(fā)客戶服務(wù)程序
11.1 理解多客戶問(wèn)題
11.2 服務(wù)器函數(shù)概覽
11.3 使用fork(2)函數(shù)實(shí)現(xiàn)多客戶服務(wù)
11.3.1 理解全局服務(wù)進(jìn)程
11.3.2 理解子服務(wù)進(jìn)程流
11.3.3 理解進(jìn)程的終止處理
11.4 使用select(2)函數(shù)設(shè)計(jì)服務(wù)器程序
11.4.1 select(2)函數(shù)簡(jiǎn)介
11.4.2 使用文件描述符集合
11.5 服務(wù)器程序設(shè)計(jì)中使用select(2)函數(shù)
11.5.1 使用select(2)函數(shù)的服務(wù)器程序
11.5.2 例程中的有關(guān)限制
第十二章 套接口選項(xiàng)
12.1 取套接口的選項(xiàng)值
12.2 設(shè)置套接口選項(xiàng)
12.3 取套接口類型(SO_TYPE)
12.4 設(shè)置SO_REUSEADDR選項(xiàng)
12.5 設(shè)置SO_LINGER選項(xiàng)
12.6 設(shè)置SO_KEEPALIVE選項(xiàng)
12.7 設(shè)置SO_BROADCAST選項(xiàng)
12.8 設(shè)置SO_OOBINLINE選項(xiàng)
12.9 選項(xiàng)SO_PASSCRED和SO_PEERCRED
第十三章 UDP廣播
13.1 理解廣播地址
13.1.1 在255.255.255.255上廣播
13.1.2 增強(qiáng)mkaddr.c子程序的功能
13.2 服務(wù)器廣播
13.3 接收廣播
13.4 廣播演示
13.5 面向網(wǎng)絡(luò)的廣播
13.5.1 啟動(dòng)廣播
13.5.2 接收本地廣播信息
13.5.3 接收遠(yuǎn)程廣播信息
13.5.4 調(diào)試
第十四章 帶外數(shù)據(jù)
14.1 帶外數(shù)據(jù)概念
14.2 帶外數(shù)據(jù)的必要性
14.3 套接口與帶外數(shù)據(jù)
14.4 實(shí)現(xiàn)中的兩種語(yǔ)義解釋
14.5 使用帶外數(shù)據(jù)
14.5.1 寫帶外數(shù)據(jù)
14.5.2 讀帶外數(shù)據(jù)
14.5.3 理解SIGURG信號(hào)
14.5.4 支撐子程序
14.5.5 使用SIGURG信號(hào)接收帶外數(shù)據(jù)
14.5.6 發(fā)送帶外數(shù)據(jù)
14.5.7 測(cè)試oobrecv和oobsend程序
14.6 緊急指針
14.6.1 TCP緊急模式
14.6.2 tcp_stdurg=1時(shí)的緊急模式
14.7 接收內(nèi)嵌帶外數(shù)據(jù)
14.7.1 確定緊急指針位置
14.7.2 使用內(nèi)嵌帶外數(shù)據(jù)
14.8 緊急指針的有關(guān)限制
第十五章 使用守護(hù)進(jìn)程inetd
15.1 一般服務(wù)程序所遵循的通用模式
15.2 inetd簡(jiǎn)介
15.2.1 /etc/inetd.conf配置文件
15.2.2 inetd服務(wù)程序的設(shè)計(jì)參數(shù)
15.3 一個(gè)簡(jiǎn)單的TCP服務(wù)程序
15.3.1 通過(guò)inetd調(diào)用服務(wù)程序
15.3.2 禁止新增加的服務(wù)
15.4 數(shù)據(jù)報(bào)服務(wù)程序
第十六章 網(wǎng)絡(luò)安全程序設(shè)計(jì)
16.1 什么是安全性
16.2 來(lái)自安全方面的挑戰(zhàn)
16.3 區(qū)分合法用戶與不合法用戶
16.3.1 通過(guò)主機(jī)名或域名識(shí)別客戶
16.3.2 通過(guò)IP地址識(shí)別客戶
16.4 給inetd服務(wù)增加安全措施
16.4.1 集中式網(wǎng)絡(luò)安全策略
16.4.2 理解TCP外包器概念
16.4.3 辨別客戶的訪問(wèn)權(quán)限
16.5 安裝外包器和服務(wù)程序
16.5.1 服務(wù)程序與外包器的日志代碼
16.5.2 UDP服務(wù)程序代碼
16.5.3 一個(gè)簡(jiǎn)單的TCP外包器程序
16.6 客戶端程序
16.7 安裝并測(cè)試外包器
16.7.1 監(jiān)視日志文件
16.7.2 啟動(dòng)inetd守護(hù)進(jìn)程
16.7.3 測(cè)試外包器程序
16.7.4 測(cè)試服務(wù)器超時(shí)
16.7.5 卸載示范程序
16.7.6 數(shù)據(jù)報(bào)的缺陷
第十七章 傳遞信任狀和文件描述符
17.1 問(wèn)題
17.2 輔助數(shù)據(jù)簡(jiǎn)介
17.3 I/O向量簡(jiǎn)介
17.3.1 I/O向量(struct iovec)
17.3.2 readv(2)函數(shù)和writev(2)函數(shù)
17.4 sendmsg(2)函數(shù)和recvmsg(2)函數(shù)
17.4.1 sendmsg(2)函數(shù)
17.4.2 recvmsg(2)函數(shù)
17.4.3 msghdr結(jié)構(gòu)
17.5 輔助數(shù)據(jù)結(jié)構(gòu)和宏
17.5.1 cmsghdr結(jié)構(gòu)簡(jiǎn)介
17.5.2 cmsg(3)宏簡(jiǎn)介
17.5.3 創(chuàng)建輔助數(shù)據(jù)
17.6 輔助數(shù)據(jù)例程
17.6.1 通用頭文件common.h
17.6.2 misc.c模塊
17.6.3 recvcred.c模塊
17.6.4 一個(gè)簡(jiǎn)單的Web服務(wù)器例程web80
17.6.5 reqport()函數(shù)
17.6.6 recv_fd()函數(shù)
17.6.7 服務(wù)器程序sockserv
17.6.8 send_fd()函數(shù)
17.7 測(cè)試套接口服務(wù)器
第十八章 一個(gè)實(shí)用的網(wǎng)絡(luò)工程項(xiàng)目
18.1 問(wèn)題
18.2 解決報(bào)價(jià)服務(wù)問(wèn)題
18.3 測(cè)試報(bào)價(jià)服務(wù)器程序
18.4 通過(guò)get_tickinfo()獲得報(bào)價(jià)單
18.5 通過(guò)broadcast()函數(shù)進(jìn)行報(bào)價(jià)廣播
18.6 分析客戶端程序
18.7 編譯并運(yùn)行演示程序
18.7.1 啟動(dòng)報(bào)價(jià)服務(wù)器qserve
18.7.2 啟動(dòng)客戶端程序mktwatch
18.7.3 如果finance.yahoo.com服務(wù)發(fā)生變化
附錄A 套接口函數(shù)快速索引
A.1 特定的套接口函數(shù)
A.2 套接口定址函數(shù)
A.3 讀套接口函數(shù)
A.4 寫套接口函數(shù)
A.5 其他套接口I/O函數(shù)
A.6 套接口控制函數(shù)
A.7 網(wǎng)絡(luò)支持函數(shù)
A.8 標(biāo)準(zhǔn)I/O支持函數(shù)
A.9 主機(jī)名支持函數(shù)
附錄B 套接口相關(guān)的數(shù)據(jù)結(jié)構(gòu)索引
B.1 套接口地址結(jié)構(gòu)
B.2 其他數(shù)據(jù)結(jié)構(gòu)
B.3 與I/O相關(guān)的數(shù)據(jù)結(jié)構(gòu)
附錄C 一些常用的表格
附錄D 術(shù)語(yǔ)表

本目錄推薦

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