VC 網路程式設計基礎

2021-08-21 09:14:20 字數 739 閱讀 5855

osi七層網路模型:

物理硬體層->表示計算機網路中的物理裝置,常見的有計算機網絡卡等

資料鏈路層->將傳輸資料進行壓縮與解壓縮

網路層->將傳輸資料進行網路傳輸

資料傳輸層->進行資訊的網路傳輸

會話層->建立物理網路的連線

表示層->將傳輸資料以某種格式進行表示

應用層->應用程式介面

tcp/ip實際上是乙個協議簇,包括很多協議(ftp文字傳輸協議,smtp郵件傳輸協議等)。tcp/ip協議的網路模型只有四層:

資料鏈路層->網絡卡等網路硬體裝置以及驅動程式

網路層->ip協議等互聯協議

資料傳輸層->為應用程式提供通訊方法,通常為tcp、udp協議

應用層->負責處理應用程式的實際使用的協議,可以是ftp、smtp等

tcp協議是基於面向連線的可靠的通訊協議,其具有重發機制,即當資料被破壞或者丟失時,傳送方將重發該資料。

udp協議是基於使用者資料報協議,屬於不可靠連線通訊的協議。

c/s程式設計模型:

c/s程式設計模型是基於可靠連線的通訊模型。在通訊的雙方必須使用各自的ip位址以及埠進行通訊。c為client客戶端,s為server伺服器端

通訊雙方的連線以及資料通訊均是基於socket(套接字)進行的。

通常網路應用程式開發,可以使用mfc封裝的socket,也可使用windows api,相比而言,mfc會簡單一些,但是windowsapi會使原理更為清晰,推薦使用windows api。

VC 網路程式設計

服務端程式的編寫 1.建立套接字 socket 2.將套接字繫結到乙個本地位址和埠上.bind 3.將套接字設為監聽模式,準備接收客戶請求 listen 4.等待客戶請求到來,當請求到來後,接收連線請求,返回乙個新的對應於此次連線的套接字 accept 5.用返回的套接字和客戶端進行通訊 send ...

vc網路程式設計入門

對於許多初學者來說,網路通訊程式的開發,普遍的乙個現象就是覺得難以入手。許多概念,諸如 同步 sync 非同步 async 阻塞 block 非阻塞 unblock 等,初學者往往迷惑不清,只知其所以而不知起所以然。同步方式指的是傳送方不等接收方響應,便接著發下個資料報的通訊方式 而非同步指傳送方發...

VC 網路程式設計 WINSOCK I O模型

window 下的套接字以來兩種方式執行i o操作,阻塞io 非阻塞io,一般預設使用的是阻塞io 即執行緒會等待不會把控制權利立刻返回給程式,這就意為乙個執行緒在某乙個時候只能夠去執行乙個io操作。如果服務端想和多個客戶端同時進行通訊的話就要使用多執行緒程式設計,但是會增加開銷,如果採用非阻塞io...