tcp/ip與osi7層參考模型的對應關係
osi的第12層也就是物理層
和資料鏈路層
對應於tcp/ip的網路介面;
osi的第3層網路層對應tcp/ip的網路層
;osi的傳輸層對應tcp/ip的傳輸層
;osi的567層也就是會話層,表示層, 應用層
對應tcp/ip的應用層
;osi參考模型並不是真正存在的7層;
osi各層所使用的協議:
應用層:遠端登入協議telnet, 檔案傳輸協議ftp, 超文字傳輸協議http, 網域名稱服務dns, 簡單右鍵傳輸協議smtp, 郵局協議pop3等;
傳輸層:傳輸控制協議tcp, 使用者資料報協議udp;
tcp:面向連線的可靠傳輸協議;
udp:無連線的不可靠的傳輸協議;(傳送不管對方是否收到)
網路層:網路協議ip, internet網際網路控制報文協議icmp, internet組管理協議igmp;
在mfc裡面編寫乙個基於tcp的網路聊天程式步驟如下:
伺服器端:
1,建立乙個基本對話方塊;
2,向對話方塊中新增2個編輯框,和1個用來傳送資料的按鈕,乙個傳送編輯框, 乙個接收訊息編輯框, 其中接收訊息的編輯框設定如下;
phost = gethostbyname(name);//獲得主機結構
ip = inet_ntoa(*(in_addr *)phost->h_addr);
afxbeginthread(&server_thd, 0);//伺服器執行緒開始;
return true;
4.全域性執行緒函式定義
uint server_thd(lpvoid p)
if (bind(listen_sock, (struct sockaddr*) &local_addr, sizeof(sockaddr_in)))
listen(listen_sock, 5);//最大使用者數
if ((sock = accept(listen_sock, (struct sockaddr *)&client_addr, &iaddrsize)) == invalid_socket)
else
接收資料
while (1)
else
}return 0;
4,資料重新整理函式update()
void csfiledlg::update(cstring s)
5,傳送資料
void csfiledlg::onbnclickedbtnsend()
else if (s == "")
else
}
MFC Socket網路程式設計 TCP IP
為了更了解網路開發的流程,可以先通過掌握winsock再去掌握別的網路開發庫,掌握傳統的winsock可以對網路開發的架構有乙個清晰框架,初學者可以先從乙個入門的winsock程式開始 服務端 wsadata data word versions makeword 2,0 int iresult w...
MFC socket網路程式設計示例
mfc socket網路程式設計 流程示例 伺服器端程式 1 載入套接字型檔 2 建立套接字 socket 3 將套接字繫結到乙個本地位址和埠上 bind 4 將套接字設為監聽模式,準備接收客戶請求 listen 5 等待客戶請求到來 當請求到來後,接受連線請求,返回乙個新的對應於此次連線的套接字 ...
MFC Socket程式設計
再此之際,記錄一下自己編寫socket的過程,實現wifi通訊。應用場景 外設系統作為ap模式下的伺服器。電腦端pc軟體作為ap模式下的客戶端。第一步 初始化socket bool csocketport initialize if lobyte wsadata.wversion 1 hibyte ...