1 基本概念
網間進程通信、端口、地址、網絡字節順序、連接、半相關、全相關、流式套接字(SOCK_STREAM)、數據報式套接字(SOCK_DGRAM)和原始式套接字(SOCK_RAW)等概念學習。
1.2 基本SOCKET入門(Linux環境)
Networking and Sockets網絡和Sockets 、 地址和主機 、 端口和協議 、 Sockets-Clients客戶端Socket 、 Sockets-Servers 服務器端Socket、
Sockets 輸入輸出操作 、 Sockets-Options Socket的選項和 Sockets 多路復用和并發服務器
3 常用函數講解
創建套接字──socket()、 指定本地地址──bind()、建立套接字連接──connect()與accept()、連接偵聽──listen()
數據傳輸──send()與recv()、 輸入/輸出多路復用──select()、 關閉套接字──closesocket()、 WSAStartup() 、WSACleanup()
4 模型概念總結
select模型、WSAAsyncSelect模型、WSAEventSelect模型、Overlapped I/O 事件通知模型、Overlapped I/O 完成例程模型、IOCP模型和C#異步通信
例子實戰引導
1 以MFC類入門
客戶端 服務端 總結
2 典型例子講解
頭文件、 函數源文件、簡單服務器程序示例、簡單客戶程序示例和UDP的例子
3 技術點例子
2.1.1 實現nbtstat -a的功能。得到某一網段內所有機器的IP,機器名, 工作組,用戶名,MAC地址,速度極快
2.1.2 以控件形式提供的套接口類
2.1.3 列舉本機上所有的TCP網絡連接
2.1.4 用替換WSock32.DLL的方法來跟蹤網絡調用
2.1.5列舉主機IP地址
2.1.6得到多網卡主機所有IP地址
2.1.7 采用替換文件的方法截獲WinSock中的函數調用
2.1.8 利用TCP/IP實現簡單的客戶/服務器模式
2.1.9 獲得主機名和IP地址
2.1.10 用ICMP.DLL發送TCP/IP控制信息
2.1.11 修改IP 2.1.12 CRC校驗
4 模型實例
2.2.1 Select模型
2.2.2 WSAAsyncSelect模型
2.2.3 Overlapped I/O 事件通知模型
2.2.4 Overlapped I/O 完成例程模型
2.2.5 IOCP模型
5 高級例子
2.3 基本聊天室
2.4用阻塞方式的socket 做的聊天程序(多線程和信號量)
2.5 FriendlyTalk.
2.6文件傳送例子
2.7 FTP實現例子
2.8 文件傳輸例子1
2.9 斷點續傳例子
2.10 端對端通信和文件傳輸
2.11基于NT的Telnet客戶端
2.12 網絡聊天
2.13 IRC聊天室客戶端
2.14 網絡錄音機
2.15苦于UDP的可靠傳輸協議UDT
2.16 Web服務器
2.17 直播服務器
2.18 網絡授時客戶端
|