tcp/ip網路協議只有四層。
協議層名 功能描述
數字鏈路層 網絡卡等網路應用裝置以及驅動程式
網路層 ip協議等網際網路協議
數字傳輸層 為應用程式提供通訊方法,通常為tcp、udp協議
應用層 負責處理應用程式的實際使用協議,可以是ftp、smtp等
c/s程式設計模型是基於可靠連線的通訊模型。在通訊雙方必須使用各自的ip位址以及埠進行通訊。
通訊過程
1.向伺服器傳送連線請求
2、伺服器應答客戶端的請求
3.服務端與客戶端之間進行資料交換請求
4.客戶端關閉u伺服器之間的連線
伺服器ip位址和埠號必須是固定的。
windows中編寫網路通訊程式時,需使用windows socket,與windows相關的api 函式稱為winsock函式.
套接字主要有兩種型別
1.流式套接字 (sock_stream) 用於tcp協議通訊的應用程式
2.資料報套接字 (sock_dgram) 用於udp。。。
兩個主要的套接字相關類
casyncsocket類 非同步套接字基本功能
(1)呼叫建構函式建立套接字物件
(2)建立伺服器端套接字:呼叫bind()繫結ip和埠,呼叫listen()監聽,請求到來 呼叫 accept()響應請求
建立客戶端套接字:直接呼叫函式connnect()連線伺服器即可.
(3) 呼叫send()等功能函式進行資料傳輸處理。
(4)關閉或銷毀套接字物件。
csocket類 派生於casyncsocket類 非同步套接字基本功能和序列化功能
(1)呼叫建構函式建立套接字物件
(2)建立伺服器端套接字:呼叫bind()繫結ip和埠,呼叫listen()監聽,請求到來 呼叫 accept()響應請求
建立客戶端套接字:直接呼叫函式connnect()連線伺服器即可.
(3)建立csocket類物件相關類的csocketfile類物件
(4)建立與csocketfile類相關類的carchive物件
(5)使用carchive 類物件在客戶端和伺服器之間進行資料傳輸.
(6)關閉或銷毀csocket類、csocketfile類和carchive類的3個物件。
socket程式設計(一) 套接字
socket程式設計 一 套接字 1.套接字基礎 套接字是一種網路api 應用程式程式設計介面 可以使應用它開發網路程式。套接字介面提供一種程序間通訊的方法,使得在相同或不同的主機上的程序能以相同的規範進行雙向資訊傳送。程序通過呼叫套接字介面來實現相互之間的通訊,而套接字介面又利用下層的網路協議功能...
Unix網路程式設計 卷一 套接字聯網API
本書面對的讀者是那些希望自己編寫的程式能夠使用成為套接字 socket 的api進行彼此通訊的人。目錄 0 準備環境 1 簡介 2 傳輸層 tcp udp和sctp 3 套接字程式設計簡介 4 基本tcp套接字程式設計 5 tcp客戶 伺服器程式例子 6 i o復用 select和poll函式 7 ...
網路程式設計 03 套接字和位址
socket到底是什麼?網路程式設計中到底如何理解socket,先看下面的圖 上面的圖表達了網路程式設計中客戶端和伺服器模型的核心邏輯。伺服器端 首選伺服器端要先初始化號好socket,之後伺服器端執行bind函式將自己的服務能力繫結在乙個特定的位址和埠上,緊接著伺服器端呼叫listen函式將原先的...