C#是微軟公司推出的一種面向對象、類型安全的語言,簡單易學且功能強大,本書通過精選的實際項目詳細介紹了C#在網路開發方面的方法和技巧。
本書詳細講述了郵件傳送和接收、FTP客戶端、P2P聊天、區域網路綜合工具(主機掃描、連線埠掃描、廣播程)、網路五子棋、Web服務(天氣預報查詢、航班查詢)、無紙化考試系統等程式的開發,涉及到SMTP、ICMP、TCP、UDP等多種網路協定。祝諒檔本書還介紹了不同於TCP/IP通信的Remoting通信技術,以及程式發布和美化方面的技巧。案例內容豐富,講和勸市解詳細,並有一定的工程背景,具有很高的實用價值。
第1章 網路開發基礎 /1
1.1 OSI參考模型 /1
1.1.1 OSI分層模型 /1
1.1.2 OSI各霉歸嚷龍層介紹 /2
1.2 TCP/IP網路模型 /4
1.2.1 TCP協定和UDP協定 /5
1.2.2 連線埠 /5
1.2.3 套接字Socket /6
1.3 C#網路開發相關的類概覽 /8
1.3.1 網路開發相關的命名空間 /8
1.3.2 網路開斷盛發恥巴灶朵相關的類 /9
1.4 Windows常用網路命令 /10
1.4.1 ipconfig命船贈碑令 /10
1.4.2 ping命令 /11
1.4.3 netstat命令 /12
1.4.4 nbtstat命令 /14
1.5 小結 /15
1.6 習題 /15
第2章 C#語言基礎 /16
2.1 C#語言及開發環境簡介 /16
2.1.1 C#語言簡介 /16
2.1.2 熟悉Visual Studio 2008 /17
2.2 數據類型及類型的轉換 /22
2.2.1 數據類型 /22
2.2.2 數據類型的轉換 /23
2.3 數組、字元串和結構體 /25
2.3.1 數組 /25
2.3.2 字元串 /28
2.3.3 結構體 /29
2.4 集合相關類 /30
2.4.1 動態數組ArrayList /31
2.4.2 堆疊Stack /33
2.4.3 佇列Queue /34
2.4.4 哈希表HashTable /34
2.5 異常的處理 /36
2.6 多執行緒 /38
2.6.1 進程與執行緒 /38
2.6.2 Thread類 /39
2.6.3 執行緒的操作 /39
2.6.4 執行緒舉例 /42
2.7 委託和事件 /43
2.7.1 委託delegate /43
2.7.2 事件Event /46
2.8 檔案、目錄和流 /48
2.8.1 檔案和目錄操作 /48
2.8.2 NetWorkStream網路流 /52
2.9 小結 /54
2.10 習題 /54
第3章 電子郵件的傳送和接收 /56
3.1 項目展示 /56
3.2 任務1:電子郵件的傳送 /57
3.2.1 SMTP協定簡介 /57
3.2.2 SMTP相關的類 /59
3.2.3 任務格灶獄實施 /61
3.3 任務2:電子郵件的接收 /65
3.3.1 POP3協定簡介 /65
3.3.2 LumiSoft庫簡介 /66
3.3.3 任務實施 /68
3.4 小結 /73
3.5 習題 /73
第4章 FTP客戶端設計 /74
4.1 項目展示 /74
4.2 任務1:配置FTP伺服器 /75
4.2.1 FTP概述 /75
4.2.2 配置FTP伺服器 /76
4.3 FTP客戶端開發相關的類 /77
4.3.1 FtpWebRequest和FtpWebResponse /77
4.3.2 TreeView控制項 /78
4.4 任務2:實現FTP檔案上傳功能 /80
4.4.1 在C#程式中調用Windows API /80
4.4.2 用TreeView控制項實現本地檔案瀏覽 /81
4.4.3 任務實施 /84
4.5 任務3:實現FTP檔案下載功能 /87
4.6 小結 /88
4.7 習題 /89
第5章 區域網路綜合工具設計 /91
5.1 項目展示 /91
5.2 任務1:獲得本機IP和主機名 /92
5.2.1 IPAddress類和IPHostEntry類 /92
5.2.2 Dns類 /92
5.2.3 任務實施 /93
5.3 任務2:區域網路主機掃描 /93
5.3.1 ProcessStartInfo和Process類 /94
5.3.2 任務實施 /96
5.4 任務3:區域網路連線埠掃描 /97
5.4.1 ICMP協定簡介 /97
5.4.2 Ping相關類 /98
5.4.3 Socket類 /99
5.4.4 任務實施 /100
5.5 任務4:區域網路聊天 /102
5.5.1 TcpClient類 /104
5.5.2 TcpListener類 /106
5.5.3 監聽類Listener /106
5.5.4 聊天程式的傳送類Sender /107
5.5.5 任務實施 /108
5.6 任務5:區域網路廣播 /110
5.6.1 相關知識 /110
5.6.2 任務實施 /110
5.7 小結 /113
5.8 習題 /113
第6章 Web Service套用設計 /116
6.1 項目展示 /116
6.2 Web Service簡介 /117
6.3 任務1:實現天氣預報功能 /119
6.4 任務2:實現國內航班查詢功能 /123
6.5 任務3:創建Web服務 /125
6.6 小結 /128
6.7 習題 /129
第7章 網路五子棋遊戲 /130
7.1 項目展示 /130
7.2 任務1:遊戲的設計 /131
7.2.1 功能的設計 /131
7.2.2 數據結構的設計 /131
7.2.3 套用協定的設計 /132
7.2.4 坐標的轉換 /133
7.3 任務2:程式資源的組織 /133
7.3.1 圖片資源 /133
7.3.2 聲音資源 /135
7.4 任務3:遊戲勝負的判斷 /135
7.5 任務4:網路通信類的設計 /137
7.5.1 監聽類 /138
7.5.2 傳送類 /139
7.6 任務5:遊戲中的事件 /140
7.6.1 主窗體載入事件 /140
7.6.2 滑鼠事件 /140
7.6.3 更新事件 /141
7.6.4 鍵盤事件 /142
7.7 項目的實施 /142
7.8 小結 /145
7.9 習題 /145
第8章 Remoting通信技術 /147
8.1 Remoting技術概述 /147
8.2 Remoting體系的基本元素 /148
8.3 遠程對象 /149
8.4 Remoting通道 /150
8.4.1 Remoting通道的註冊 /151
8.4.2 Remoting通道的註銷 /152
8.5 遠程對象的激活方式 /153
8.6 訪問遠程Access資料庫 /157
8.6.1 ADO.NET概述 /157
8.6.2 創建遠程資料庫訪問的共享類 /159
8.6.3 服務端RemoteDbServer /160
8.6.4 客戶端RemoteDbClient /161
8.7 小結 /163
8.8 習題 /163
第9章 無紙化考試系統 /164
9.1 項目展示 /164
9.2 任務1:系統結構與功能設計 /166
9.2.1 系統結構設計 /166
9.2.2 功能設計 /167
9.3 任務2:資料庫設計 /169
9.4 任務3:資料庫訪問設計 /170
9.4.1 通用資料庫訪問類AccessHelper /171
9.4.2 建立模型層 /173
9.4.3 數據訪問層 /176
9.4.4 業務邏輯層 /182
9.4.5 外觀層設計 /184
9.5 任務4:輔助類設計 /190
9.6 任務5:遠程對象設計 /197
9.7 任務6:伺服器端設計 /199
9.7.1 伺服器登錄窗體設計 /199
9.7.2 伺服器主窗體設計 /201
9.7.3 伺服器中心窗體 /202
9.7.4 伺服器配置窗體 /204
9.7.5 考生監視窗體 /206
9.7.6 成績瀏覽窗體 /209
9.8 任務7:客戶端設計 /210
9.8.1 考生登錄窗體設計 /210
9.8.2 考試窗體設計 /213
9.9 小結 /220
9.10 習題 /220
第10章 應用程式的發布和美化 /221
10.1 概述 /221
10.2 應用程式的發布 /221
10.3 應用程式的美化 /225
10.4 小結 /227
10.5 習題 /227
附錄A 課程設計參考方案 /228
附錄B C#編碼參考規範 /231
參考文獻 /234
2.6.2 Thread類 /39
2.6.3 執行緒的操作 /39
2.6.4 執行緒舉例 /42
2.7 委託和事件 /43
2.7.1 委託delegate /43
2.7.2 事件Event /46
2.8 檔案、目錄和流 /48
2.8.1 檔案和目錄操作 /48
2.8.2 NetWorkStream網路流 /52
2.9 小結 /54
2.10 習題 /54
第3章 電子郵件的傳送和接收 /56
3.1 項目展示 /56
3.2 任務1:電子郵件的傳送 /57
3.2.1 SMTP協定簡介 /57
3.2.2 SMTP相關的類 /59
3.2.3 任務實施 /61
3.3 任務2:電子郵件的接收 /65
3.3.1 POP3協定簡介 /65
3.3.2 LumiSoft庫簡介 /66
3.3.3 任務實施 /68
3.4 小結 /73
3.5 習題 /73
第4章 FTP客戶端設計 /74
4.1 項目展示 /74
4.2 任務1:配置FTP伺服器 /75
4.2.1 FTP概述 /75
4.2.2 配置FTP伺服器 /76
4.3 FTP客戶端開發相關的類 /77
4.3.1 FtpWebRequest和FtpWebResponse /77
4.3.2 TreeView控制項 /78
4.4 任務2:實現FTP檔案上傳功能 /80
4.4.1 在C#程式中調用Windows API /80
4.4.2 用TreeView控制項實現本地檔案瀏覽 /81
4.4.3 任務實施 /84
4.5 任務3:實現FTP檔案下載功能 /87
4.6 小結 /88
4.7 習題 /89
第5章 區域網路綜合工具設計 /91
5.1 項目展示 /91
5.2 任務1:獲得本機IP和主機名 /92
5.2.1 IPAddress類和IPHostEntry類 /92
5.2.2 Dns類 /92
5.2.3 任務實施 /93
5.3 任務2:區域網路主機掃描 /93
5.3.1 ProcessStartInfo和Process類 /94
5.3.2 任務實施 /96
5.4 任務3:區域網路連線埠掃描 /97
5.4.1 ICMP協定簡介 /97
5.4.2 Ping相關類 /98
5.4.3 Socket類 /99
5.4.4 任務實施 /100
5.5 任務4:區域網路聊天 /102
5.5.1 TcpClient類 /104
5.5.2 TcpListener類 /106
5.5.3 監聽類Listener /106
5.5.4 聊天程式的傳送類Sender /107
5.5.5 任務實施 /108
5.6 任務5:區域網路廣播 /110
5.6.1 相關知識 /110
5.6.2 任務實施 /110
5.7 小結 /113
5.8 習題 /113
第6章 Web Service套用設計 /116
6.1 項目展示 /116
6.2 Web Service簡介 /117
6.3 任務1:實現天氣預報功能 /119
6.4 任務2:實現國內航班查詢功能 /123
6.5 任務3:創建Web服務 /125
6.6 小結 /128
6.7 習題 /129
第7章 網路五子棋遊戲 /130
7.1 項目展示 /130
7.2 任務1:遊戲的設計 /131
7.2.1 功能的設計 /131
7.2.2 數據結構的設計 /131
7.2.3 套用協定的設計 /132
7.2.4 坐標的轉換 /133
7.3 任務2:程式資源的組織 /133
7.3.1 圖片資源 /133
7.3.2 聲音資源 /135
7.4 任務3:遊戲勝負的判斷 /135
7.5 任務4:網路通信類的設計 /137
7.5.1 監聽類 /138
7.5.2 傳送類 /139
7.6 任務5:遊戲中的事件 /140
7.6.1 主窗體載入事件 /140
7.6.2 滑鼠事件 /140
7.6.3 更新事件 /141
7.6.4 鍵盤事件 /142
7.7 項目的實施 /142
7.8 小結 /145
7.9 習題 /145
第8章 Remoting通信技術 /147
8.1 Remoting技術概述 /147
8.2 Remoting體系的基本元素 /148
8.3 遠程對象 /149
8.4 Remoting通道 /150
8.4.1 Remoting通道的註冊 /151
8.4.2 Remoting通道的註銷 /152
8.5 遠程對象的激活方式 /153
8.6 訪問遠程Access資料庫 /157
8.6.1 ADO.NET概述 /157
8.6.2 創建遠程資料庫訪問的共享類 /159
8.6.3 服務端RemoteDbServer /160
8.6.4 客戶端RemoteDbClient /161
8.7 小結 /163
8.8 習題 /163
第9章 無紙化考試系統 /164
9.1 項目展示 /164
9.2 任務1:系統結構與功能設計 /166
9.2.1 系統結構設計 /166
9.2.2 功能設計 /167
9.3 任務2:資料庫設計 /169
9.4 任務3:資料庫訪問設計 /170
9.4.1 通用資料庫訪問類AccessHelper /171
9.4.2 建立模型層 /173
9.4.3 數據訪問層 /176
9.4.4 業務邏輯層 /182
9.4.5 外觀層設計 /184
9.5 任務4:輔助類設計 /190
9.6 任務5:遠程對象設計 /197
9.7 任務6:伺服器端設計 /199
9.7.1 伺服器登錄窗體設計 /199
9.7.2 伺服器主窗體設計 /201
9.7.3 伺服器中心窗體 /202
9.7.4 伺服器配置窗體 /204
9.7.5 考生監視窗體 /206
9.7.6 成績瀏覽窗體 /209
9.8 任務7:客戶端設計 /210
9.8.1 考生登錄窗體設計 /210
9.8.2 考試窗體設計 /213
9.9 小結 /220
9.10 習題 /220
第10章 應用程式的發布和美化 /221
10.1 概述 /221
10.2 應用程式的發布 /221
10.3 應用程式的美化 /225
10.4 小結 /227
10.5 習題 /227
附錄A 課程設計參考方案 /228
附錄B C#編碼參考規範 /231
參考文獻 /234