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

實戰(zhàn)Linux Socket編程

實戰(zhàn)Linux Socket編程

定 價:¥36.00

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

ISBN: 9787560610894 出版時間: 2002-01-01 包裝: 精裝
開本: 26cm 頁數(shù): 430 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第一部分 基本套接口概念
第一章 套接口簡介
1.1 簡要的歷史回顧
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 運行例程
1.5 用套接口實現(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 什么時候不能使用shutdown(2)
1.7 客戶/服務(wù)器應(yīng)用編程
第二章 域和地址族
2.1 無名套接口
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é)序之間實現(xiàn)轉(zhuǎn)換
2.5.3 初始化一個通配的Internet地址
2.5.4 初始化一個特定的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 獲得對等套接口地址
5.4 接口與定址
5.4.1 指定接口地址的圖例
5.4.2 綁定一個特定的接口地址
5.4.3 綁定通配接口
第六章 面向非連接的協(xié)議
6.1 通信的方法
6.1.1 非連接通信的優(yōu)點
6.1.2 非連接通信的缺點
6.2 實現(xiàn)數(shù)據(jù)報的輸入和輸出
6.2.1 sendto(2)函數(shù)介紹
6.2.2 recvfrom(2)函數(shù)介紹
6.3 編寫UDP數(shù)據(jù)報服務(wù)器程序
6.4 編寫UDP數(shù)據(jù)報客戶程序
6.5 測試UDP數(shù)據(jù)報服務(wù)器/客戶程序
6.5.1 在沒有服務(wù)器的狀態(tài)下進行測試
6.5.2 使用非缺省的IP地址進行測試
6.5.3 在客戶程序中省略bind(2)調(diào)用
6.5.4 對通配地址的應(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 通過名字和協(xié)議查詢服務(wù)
7.2.6 通過端口和協(xié)議查詢服務(wù)
7.3 /etc/protocols文件
7.3.1 使用setprotoent(3)函數(shù)
7.3.2 使用endprotoent(3)函數(shù)
7.3.3 通過名字查詢協(xié)議
7.3.4 通過協(xié)議號查詢協(xié)議
7.4 編寫TCP/IP客戶程序
7.4.1 connect(2)函數(shù)
7.4.2 為編寫客戶程序做準備
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)聽隊列
8.2.2 指定backlog的值
8.3 accept(2)函數(shù)
8.4 編寫一個TCP/IP服務(wù)器程序
8.5 修改客戶程序
第九章 主機名和網(wǎng)絡(luò)名查詢
9.1 理解名字的必要性
9.2 uname(2)函數(shù)
9.3 獲取主機名和域名
9.3.1 gethostname(2)函數(shù)
9.3.2 getdomainname(2)函數(shù)
9.3.3 測試gethostname(2)函數(shù)和getdomainname(2)函數(shù)
9.4 解析遠程地址
9.4.1 錯誤報告
9.4.2 報告h_errno錯誤
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ù)
第二部分 高級套接口編程
第十章 套接口上的標準I/O
10.1 使用標準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 同時關(guān)閉讀寫端
10.6 中斷處理
10.7 定義緩沖操作
10.8 在套接口上使用FILE流
10.8.1 mkaddr()函數(shù)
10.8.2 RPN計算器引擎代碼
10.8.3 測試RPN服務(wù)器程序
第十一章 并發(fā)客戶服務(wù)程序
11.1 理解多客戶問題
11.2 服務(wù)器函數(shù)概覽
11.3 使用fork(2)函數(shù)實現(xiàn)多客戶服務(wù)
11.3.1 理解全局服務(wù)進程
11.3.2 理解子服務(wù)進程流
11.3.3 理解進程的終止處理
11.4 使用select(2)函數(shù)設(shè)計服務(wù)器程序
11.4.1 select(2)函數(shù)簡介
11.4.2 使用文件描述符集合
11.5 服務(wù)器程序設(shè)計中使用select(2)函數(shù)
11.5.1 使用select(2)函數(shù)的服務(wù)器程序
11.5.2 例程中的有關(guān)限制
第十二章 套接口選項
12.1 取套接口的選項值
12.2 設(shè)置套接口選項
12.3 取套接口類型(SO_TYPE)
12.4 設(shè)置SO_REUSEADDR選項
12.5 設(shè)置SO_LINGER選項
12.6 設(shè)置SO_KEEPALIVE選項
12.7 設(shè)置SO_BROADCAST選項
12.8 設(shè)置SO_OOBINLINE選項
12.9 選項SO_PASSCRED和SO_PEERCRED
第十三章 UDP廣播
13.1 理解廣播地址
13.1.1 在255.255.255.255上廣播
13.1.2 增強mkaddr.c子程序的功能
13.2 服務(wù)器廣播
13.3 接收廣播
13.4 廣播演示
13.5 面向網(wǎng)絡(luò)的廣播
13.5.1 啟動廣播
13.5.2 接收本地廣播信息
13.5.3 接收遠程廣播信息
13.5.4 調(diào)試
第十四章 帶外數(shù)據(jù)
14.1 帶外數(shù)據(jù)概念
14.2 帶外數(shù)據(jù)的必要性
14.3 套接口與帶外數(shù)據(jù)
14.4 實現(xiàn)中的兩種語義解釋
14.5 使用帶外數(shù)據(jù)
14.5.1 寫帶外數(shù)據(jù)
14.5.2 讀帶外數(shù)據(jù)
14.5.3 理解SIGURG信號
14.5.4 支撐子程序
14.5.5 使用SIGURG信號接收帶外數(shù)據(jù)
14.5.6 發(fā)送帶外數(shù)據(jù)
14.5.7 測試oobrecv和oobsend程序
14.6 緊急指針
14.6.1 TCP緊急模式
14.6.2 tcp_stdurg=1時的緊急模式
14.7 接收內(nèi)嵌帶外數(shù)據(jù)
14.7.1 確定緊急指針位置
14.7.2 使用內(nèi)嵌帶外數(shù)據(jù)
14.8 緊急指針的有關(guān)限制
第十五章 使用守護進程inetd
15.1 一般服務(wù)程序所遵循的通用模式
15.2 inetd簡介
15.2.1 /etc/inetd.conf配置文件
15.2.2 inetd服務(wù)程序的設(shè)計參數(shù)
15.3 一個簡單的TCP服務(wù)程序
15.3.1 通過inetd調(diào)用服務(wù)程序
15.3.2 禁止新增加的服務(wù)
15.4 數(shù)據(jù)報服務(wù)程序
第十六章 網(wǎng)絡(luò)安全程序設(shè)計
16.1 什么是安全性
16.2 來自安全方面的挑戰(zhàn)
16.3 區(qū)分合法用戶與不合法用戶
16.3.1 通過主機名或域名識別客戶
16.3.2 通過IP地址識別客戶
16.4 給inetd服務(wù)增加安全措施
16.4.1 集中式網(wǎng)絡(luò)安全策略
16.4.2 理解TCP外包器概念
16.4.3 辨別客戶的訪問權(quán)限
16.5 安裝外包器和服務(wù)程序
16.5.1 服務(wù)程序與外包器的日志代碼
16.5.2 UDP服務(wù)程序代碼
16.5.3 一個簡單的TCP外包器程序
16.6 客戶端程序
16.7 安裝并測試外包器
16.7.1 監(jiān)視日志文件
16.7.2 啟動inetd守護進程
16.7.3 測試外包器程序
16.7.4 測試服務(wù)器超時
16.7.5 卸載示范程序
16.7.6 數(shù)據(jù)報的缺陷
第十七章 傳遞信任狀和文件描述符
17.1 問題
17.2 輔助數(shù)據(jù)簡介
17.3 I/O向量簡介
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)簡介
17.5.2 cmsg(3)宏簡介
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 一個簡單的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 測試套接口服務(wù)器
第十八章 一個實用的網(wǎng)絡(luò)工程項目
18.1 問題
18.2 解決報價服務(wù)問題
18.3 測試報價服務(wù)器程序
18.4 通過get_tickinfo()獲得報價單
18.5 通過broadcast()函數(shù)進行報價廣播
18.6 分析客戶端程序
18.7 編譯并運行演示程序
18.7.1 啟動報價服務(wù)器qserve
18.7.2 啟動客戶端程序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 標準I/O支持函數(shù)
A.9 主機名支持函數(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ù)語表

本目錄推薦

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