-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Windows Sockets網路程式設計

( 簡體 字)
作者:Bob Quinn;David Shute類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社Windows Sockets網路程式設計 3dWoo書號: 33503
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:8/22/2012
頁數:424
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787111392743
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書是Windows Sockets網路程式設計領域公認的經典著作,由Windows Sockets 2.0規範解釋小組負責人親自執筆,權威性毋庸置疑。它結合大量示例,對Windows Sockets規範進行了深刻地解讀,系統講解了Windows Sockets網路程式設計及其相關的概念、原理、主要命令、操作模式,以及開發技巧和可能的陷阱,從程式師的角度給出了大量的建議和最佳實踐,是學習Windows Sockets網路程式設計不可多得的參考書。
全書分為三部分:第一部分(第1∼6章),提供了翔實的背景知識和框架方面的概念,借助於此框架,讀者可理解WinSock的具體細節,包括Windows Sockets概述、OSI網路參考模型、TCP/IP協定簇中的協定和可用的服務、WinSock網路應用程式的框架及其工作機制、WinSock的三種操作模式、socket通信機制等;第二部分(第7∼12章),以FTP用戶端實例為基礎介紹了函數實例庫,還介紹了用戶端程式、伺服器程式和DLL中間構件及它們的相應函數,並涵蓋socket命令和選項及移植BSD Sockets相關事項等;第三部分(第13∼17章),介紹了應用程式調試技術和工具,針對應用程式設計中的陷阱的建議和措施,WinSock API的多種作業系統平臺,WinSock規範的可選功能和WinSock規範2.0中的所有新功能。另外,本書還提供了4個極具參考價值的附錄。
目錄:

譯者序

前言
第1章 Windows Sockets概述1
 1.1 什麼是Windows Sockets2
 1.2 Windows Sockets的發展歷史3
 1.3 Windows Sockets的優勢4
  1.3.1 Windows Sockets是一個開放的標準4
  1.3.2 Windows Sockets提供原始程式碼可攜性4
  1.3.3 Windows Sockets支援動態連結5
  1.3.4 Windows Sockets的優點6
 1.4 Windows Sockets的前景7
 1.5 結論7
第2章 Windows Sockets的概念9
 2.1 OSI網路模型9
 2.2 WinSock網路模型11
  2.2.1 資訊與資料12
  2.2.2 應用協定12
 2.3 WinSock中的OSI層次12
  2.3.1 應用層13
  2.3.2 展示層14
  2.3.3 工作階段層14
  2.3.4 傳輸層15
  2.3.5 網路層16
  2.3.6 資料連結層17
  2.3.7 實體層17
 2.4 模組化的層次框18
 2.5 服務和協定19
 2.6 協議和API21
第3章 TCP/IP協定服務23
 3.1 什麼是TCP/IP23
 3.2 TCP/IP的發展歷史25
 3.3 傳輸服務26
  3.3.1 不需連線的服務:UDP26
  3.3.2 連線導向的服務:TCP28
  3.3.3 傳輸協議的選擇:UDP與TCP的對比29
 3.4 網路服務30
  3.4.1 IP服務30
  3.4.2 ICMP服務31
 3.5 支援協定和服務32
  3.5.1 功能變數名稱服務32
  3.5.2 位址解析通訊協定33
  3.5.3 其他支援協定33
 3.6 TCP/IP的發展前景34
第4章 網路應用程式工作機制35
 4.1 用戶端-伺服器模型35
 4.2 網路程式概覽37
 4.3 socket的打開37
 4.4 socket的命名39
  4.4.1 sockaddr結構40
  4.4.2 sockaddr_in結構40
  4.4.3 埠號41
  4.4.4 本地IP地址41
  4.4.5 什麼是socket名稱42
  4.4.6 用戶端socket名稱是可選的42
 4.5 與另一個socket建立關聯43
  4.5.1 伺服器如何準備建立關聯44
  4.5.2 用戶端如何發起一個關聯45
  4.5.3 伺服器如何完成一個關聯47
 4.6 socket之間的發送與接收48
  4.6.1 在“已連接的”socket上發送資料48
  4.6.2 在“不需連線的”socket上發送資料49
  4.6.3 接收資料50
  4.6.4 socket解複用器中的關聯51
 4.7 socket的關閉52
  4.7.1 closesocket()52
  4.7.2 shutdown()53
 4.8 用戶端和伺服器概覽54
第5章 操作模式56
 5.1 什麼是操作模式57
  5.1.1 不掛機,等待:阻塞57
  5.1.2 掛機後再撥:非阻塞57
  5.1.3 請求對方回撥:非同步58
 5.2 阻塞模式58
  5.2.1 阻塞socket58
  5.2.2 阻塞函數59
  5.2.3 偽阻塞的問題59
  5.2.4 阻塞鉤子函數60
  5.2.5 阻塞情境61
  5.2.6 撤銷阻塞操作62
  5.2.7 阻塞操作中的超時64
  5.2.8 無最少接收限制值65
  5.2.9 代碼示例65
 5.3 非阻塞模式67
  5.3.1 怎樣使socket成為非阻塞的68
  5.3.2 成功與失敗不是絕對的68
  5.3.3 探詢而非阻塞69
  5.3.4 顯式地避讓69
  5.3.5 代碼示例70
 5.4 非同步模式72
  5.4.1 認識非同步函數73
  5.4.2 撤銷非同步作業74
  5.4.3 代碼示例74
  5.4.4 AU_Time應用76
 5.5 性能比較85
 5.6 平臺比較86
 5.7 真正的阻塞86
  5.7.1 執行緒化的應用程式86
  5.7.2 其他適用性說明87
第6章 socket狀態88
 6.1 什麼是socket狀態88
  6.1.1 資料包socket的狀態89
  6.1.2 流socket的狀態90
 6.2 socket狀態的檢測方法91
  6.2.1 根據函式呼叫的成功或失敗檢測92
  6.2.2 同步檢測93
  6.2.3 非同步檢測93
 6.3 WSAAsyncSelect()93
  6.3.1 WSAAsyncSelect()的工作原理94
  6.3.2 什麼是WSAAsyncSelect()事件96
  6.3.3 避免機會丟失的視窗96
  6.3.4 什麼是重使能函數97
  6.3.5 什麼是通知消息98
  6.3.6 為函數失敗做好準備98
  6.3.7 在回應時設置迴圈99
  6.3.8 撤銷非同步通知99
  6.3.9 事件描述99
  6.3.10 AS_Echo應用程式102
 6.4 select()115
  6.4.1 怎樣使用select()116
  6.4.2 select()的宏117
  6.4.3 select()的輸入參數118
  6.4.4 不要把select()作為計時器120
  6.4.5 注意0超時120
  6.4.6 代碼示例120
 6.5 查看數據122
  6.5.1 ioctlsocket()FIONREAD命令122
  6.5.2 帶有MSG_PEEK標誌的recv()122
 6.6 帶外數據123
  6.6.1 TCP的局限124
  6.6.2 ioctlsocket()函數和SIOCATMARK命令125
  6.6.3 代碼示例125
 6.7 監聽狀態126
第7章 應用程式和函數實例庫127
 7.1 FTP用戶端實例127
  7.1.1 檔案傳輸通訊協定概述128
  7.1.2 FTP有限狀態機130
  7.1.3 AC_FTP應用程式132
  7.1.4 操作中的AC_FTP168
 7.2 函數實例庫169
  7.2.1 CenterWnd()170
  7.2.2 CloseConn()171
  7.2.3 CreateLclFile()172
  7.2.4 Dlg_About()173
  7.2.5 GetAddr()174
  7.2.6 GetBuf()175
  7.2.7 GetHostID()176
  7.2.8 GetLclDir()177
  7.2.9 GetPort()179
  7.2.10 WSAErrStr()179
  7.2.11 WSAperror()180
 7.3 WinSockx.h182
  7.3.1 Globals.c183
  7.3.2 WSA_Xtra.h184
第8章 主機名稱稱與主機位址187
 8.1 主機名稱稱與主機位址解析187
  8.1.1 hostent結構188
  8.1.2 主機名稱稱解析189
  8.1.3 地址解析195
 8.2 主機表、網域名稱系統和網路資訊服務198
  8.2.1 主機表198
  8.2.2 網域名稱系統198
  8.2.3 網路資訊服務199
 8.3 本地主機資訊200
 8.4 網路位址與格式化201
  8.4.1 in_addr結構201
  8.4.2 inet_addr()202
  8.4.3 inet_ntoa()203
 8.5 協議族與位址族204
第9章 socket資訊與控制205
 9.1 socket控制205
  9.1.1 FIONBIO206
  9.1.2 FIONREAD207
  9.1.3 SIOCATMARK208
  9.1.4 其他控制命令208
 9.2 socket選項209
  9.2.1 getsockopt()與setsockopt()209
  9.2.2 SO_ACCEPTCONN211
  9.2.3 SO_BROADCAST211
  9.2.4 SO_DEBUG212
  9.2.5 SO_DONTLINGER213
  9.2.6 SO_DONTROUTE213
  9.2.7 SO_ERROR214
  9.2.8 SO_KEEPALIVE214
  9.2.9 SO_LINGER216
  9.2.10 SO_OOBINLINE218
  9.2.11 SO_RCVBUF與SO_SNDBUF218
  9.2.12 SO_REUSEADDR219
  9.2.13 SO_TYPE219
  9.2.14 TCP_NODELAY220
  9.2.15 不支援的選項221
  9.2.16 未來會使用的選項222
 9.3 阻塞鉤子222
  9.3.1 WSASetBlockingHook()222
  9.3.2 WSAUnhookBlockingHook()223
  9.3.3 阻塞鉤子函數223
  9.3.4 阻塞狀態224
 9.4 socket 名稱224
  9.4.1 getsockname()225
  9.4.2 getpeername()226
第10章 支援常式228
 10.1 啟動與清除228
  10.1.1 WSAStartup()228
  10.1.2 WSACleanup()234
 10.2 位元組順序234
 10.3 服務名稱與埠號236
  10.3.1 servent結構236
  10.3.2 服務解析237
  10.3.3 埠解析240
  10.3.4 服務資料庫241
 10.4 協定名稱與協定號242
  10.4.1 protoent結構243
  10.4.2 協定名稱解析243
  10.4.3 協議號解析247
  10.4.4 協定資料庫247
 10.5 報錯248
  10.5.1 WSAGetLastError()248
  10.5.2 WSASetLastError()249
  10.5.3 錯誤文本顯示249
第11章 WinSock上的DLL250
 11.1 創建一個新的API250
  11.1.1 模擬的API251
  11.1.2 應用協定API252
  11.1.3 封裝的WinSock API252
 11.2 DLL的問題253
  11.2.1 重入254
  11.2.2 任務管理255
  11.2.3 與WinSock DLL的連結256
 11.3 DLL實例256
  11.3.1 WSASimpl應用程式257
  11.3.2 WSASimpl DLL258
第12章 移植BSD Sockets272
 12.1 Windows Sockets與Berkeley Sockets的差異272
  12.1.1 socket不是檔案控制代碼273
  12.1.2 signal()不可用274
  12.1.3 功能變數名稱不可用275
  12.1.4 位址資訊和操作不可用275
  12.1.5 syslog()不可用276
  12.1.6 變數errno不可用276
  12.1.7 perror()和strerror()不可用276
  12.1.8 資料庫檔操作不可用276
  12.1.9 bcmp()、bcopy()和bzero()不可用276
  12.1.10 本地IPC不可用277
  12.1.11 OOB API不同277
  12.1.12 setsockopt()SO_DEBUG是可選的277
 12.2 16位Windows的局限性277
  12.2.1 16位Windows不清理現場277
  12.2.2 16位Windows是非搶佔式的278
  12.2.3 16位Windows檔案系統不安全278
  12.2.4 16位Windows使用分段定址279
  12.2.5 fork()不可用279
 12.3 移植Berkeley Sockets的其他事項279
  12.3.1 包含檔279
  12.3.2 socket域279
  12.3.3 socket類型279
  12.3.4 socket控制碼280
  12.3.5 錯誤值280
 12.4 函數清單280
第13章 調試284
 13.1 問題類型284
  13.1.1 安裝問題285
  13.1.2 網路問題285
  13.1.3 程式問題285
  13.1.4 WinSock DLL問題285
 13.2 故障表現及其定位286
 13.3 問題評估286
 13.4 安裝調試287
 13.5 網路調試287
  13.5.1 通用網路調試288
  13.5.2 主機解析調試289
 13.6 應用程式調試289
 13.7 調試工具290
  13.7.1 網路調試工具290
  13.7.2 應用程式調試工具295
  13.7.3 WinSock符合性和性能測試工具297
  13.7.4 其他調試工具297
第14章 該做和不該做的299
 14.1 特徵化應用程式299
 14.2 應用程式資料流程300
  14.2.1 增大緩存301
  14.2.2 MTU的考慮301
  14.2.3 健壯性原則302
  14.2.4 避免查看303
  14.2.5 先接收後發送303
 14.3 流演算法303
  14.3.1 發送結構化資料303
  14.3.2 發送交互資料305
  14.3.3 檢測無效連接306
  14.3.4 驗證資料傳輸306
 14.4 資料包演算法307
  14.4.1 實現超時機制308
  14.4.2 資料包排序308
  14.4.3 有節制地發送資料308
  14.4.4 同步發送方和接收方309
 14.5 好消息準則309
  14.5.1 檢查返回值309
  14.5.2 檢測部分成功310
  14.5.3 準備應對任何階段出現的任何錯誤310
  14.5.4 檢測非致命錯誤310
  14.5.5 恰當地處理錯誤311
  14.5.6 對用戶透明311
  14.5.7 留好出口311
  14.5.8 不忽視任何警告資訊311
 14.6 常見陷阱和缺陷312
  14.6.1 打開和命名socket312
  14.6.2 建立連接313
  14.6.3 監聽和同意建立連接313
  14.6.4 發送和接收314
  14.6.5 關閉socket315
  14.6.6 使用主機名稱稱和位址316
  14.6.7 使用WSAAsyncSelect()函數316
  14.6.8 使用阻塞socket317
  14.6.9 退出某個應用程式319
  14.6.10 其他注意事項320
第15章 系統平臺322
 15.1 WOSA網路模型322
 15.2 32位WinSock323
  15.2.1 Windows 95324
  15.2.2 交叉執行324
  15.2.3 32位元WinSock特徵324
  15.2.4 32位元作業系統優勢328
 15.3 其他系統平臺329
第16章 可選特性330
 16.1 自相矛盾的可選標準330
 16.2 應該使用可選特性嗎331
 16.3 原始socket332
  16.3.1 ICMP ping應用332
  16.3.2 IP_TTL路徑跟蹤337
 16.4 多播338
  16.4.1 為何使用多播338
  16.4.2 多播API339
  16.4.3 多播機制341
 16.5 環回介面345
 16.6 共用socket345
 16.7 可選項346
 16.8 socket作為檔案控制代碼346
 16.9 在任何時候都準備好應對任何錯誤347
 16.10 其他可選特性347
第17章 WinSock 2348
 17.1 你需要WinSock 2嗎349
 17.2 特性概述349
 17.3 多協定支援351
  17.3.1 WinSock 2架構351
  17.3.2 協定獨立352
  17.3.3 名稱空間獨立353
 17.4 重疊I/O356
 17.5 分散和聚合358
 17.6 服務品質358
 17.7 socket組360
 17.8 多點和多播361
 17.9 有條件的接受362
 17.10 連接和斷開資料363
 17.11 socket共用364
 17.12 協定相關的附加功能364
  17.12.1 WSAIoctl()365
  17.12.2 get/setsockopt()365
附錄A TCP/IP協議首部366
 A.1 TCP/IP報文中的分層366
 A.2 ARP首部367
 A.3 IP首部368
 A.4 ICMP首部369
 A.5 IGMP首部370
 A.6 TCP首部371
 A.7 UDP首部372
 A.8 對話示例373
附錄B 快速參考380
 B.1 結構380
 B.2 函數384
 B.3 宏391
附錄C 錯誤資訊參考398
 C.1 獲取錯誤值的位置398
 C.2 可能出現的錯誤399
 C.3 使用者可以解決的錯誤400
 C.4 詳細的錯誤描述400
 C.5 按數值排序的錯誤代碼表419
附錄D 用戶必備421
 D.1 重要文件421
 D.2 編譯與連結機制422
 D.3 各種WinSock的使用423
 D.4 各種程式設計語言的使用424
序: