本文梳理 Windows Socket 網絡編程的核心概念、分層協議、數據封裝機制、端口管理、Socket 類型與 TCP/UDP 開發標準流程,為 VC++ 網絡應用開發建立完整知識骨架。
| 層級 | 代表協議 | 特點 |
|---|---|---|
| 應用層 | Telnet, FTP, HTTP, DNS, SMTP, POP3 | 業務邏輯協議 |
| 傳輸層 | TCP (面向連接、可靠), UDP (無連接、不可靠、實時性好) | 端口寻址、流/數據報 |
| 網絡層 | IP, ICMP, IGMP | 路由與控制報文 |
數據在發送端逐層封裝(添加首部/尾部),接收端逐層解封。
AF_INET(IPv4)。htons/htonl / ntohs/ntohl 轉換。提供 WSAAsyncSelect、WSAEventSelect、Overlapped I/O 等多種異步模型,支援 TCP/UDP/Raw Socket 三種類型。
socket() 創建connect() 發起連接send()/recv() 雙向通信closesocket() 關閉socket() 創建bind() 綁定本地 IP:Portlisten() 監聽accept() 接受連接,返回新 Socket(含客戶端資訊)send()/recv() 通信accept() 服務下一客戶closesocket() 關閉監聽 Socketsocket(SOCK_DGRAM)sendto() 指定目標 IP:Port 發送closesocket()socket(SOCK_DGRAM)bind() 綁定本地端口recvfrom() 接收數據並獲取來源地址closesocket()掌握上述流程與位序轉換,即可在 VC++ 中穩健開發各類網絡應用,從簡單聊天室到高性能伺服器皆有據可依。