MFC網路程式設計學習

2021-06-21 20:54:32 字數 1278 閱讀 5585

網路程式設計人員可以呼叫windows作業系統套接字訪問通訊協議,套接字存在與通訊區域中,windows套接字只支援乙個通訊區域即網際域(af_inet)~~

套接字的型別有三類:流式套接字(sock_stream)和資料報式套接字(sock_dgram)和原始套接字~~

流式套接字基於tcp協議,資料報式套接字基於udp協議實現 ~~

基於tcp的socket程式設計的伺服器端程式流程如下:

1、建立套接字

2、將套接字繫結到乙個本地位址和埠號上(bind)

3、將套接字設為監聽模式,準備接受客戶請求(listen)

4、等待客戶請求,請求到來時接受請求,建立鏈結,並返回 乙個新的基於此次通訊的套接字(accept)

5、用返回的套接字和客戶端進行通訊(send、recv)

6、返回,等待另一客戶請求

7、關閉套接字

基於tcp的socket程式設計的客戶端程式流程如下:

1、建立套接字

2、向伺服器端傳送請求(connect)

3、和伺服器端進行通訊(send、recv)

4、關閉套接字

基於udp的socket程式設計的伺服器端程式流程如下:

1、建立套接字

2、將套接字繫結到本地位址和埠號上(bind)

3、等待接收資料(recvfrom)

4、關閉套接字

基於udp的socket程式設計的客戶端程式流程如下:

1、建立套接字

2、和伺服器端進行通訊(sendto)

3、關閉套接字

編寫自定義訊息處理函式

假如說要在cdlg類中定義訊息處理函式則步驟如下:

1、在cdlg類標頭檔案中定義訊息

#define wm_recvdata wm_user+1

2、在cdlg類的標頭檔案中編寫該訊息響應函式原型的宣告

// generated message map functions

//}afx_msg

afx_msg void onrecvdata(wparam wparam,lparam lparam);

declare_message_map()

3、在cdlg類的實現檔案中新增wm_recvdata 訊息對映

begin_message_map(cchatdlg, cdialog)

//}afx_msg_map

on_message(wm_recvdata,onrecvdata)

end_message_map()

4、在cdlg類的實現檔案中實現onrecvdata函式

MFC網路程式設計

一 概念 1.同步方式與非同步方式 同步方式 傳送方發出資料,等收到接收方發回的響應後,才傳送下乙個資料報的通訊方式 2.阻塞與非阻塞方式 阻塞套接字 執行此套接字的網路呼叫時,直到成功才返回,否則一直阻塞在此網路呼叫上。例如,呼叫receive函式讀取網路緩衝區中的資料,如果沒有資料到達,將一直掛...

MFC程式設計學習

1.對話方塊的key訊息先要被pretranslatemessage函式處理,然後轉到onkeydown處理 所有遮蔽一些按鍵可以到pretranslatemessage函式裡進行 注意過濾wm keydown 和 wm syskeydown 一些系統按鍵 2.組合鍵的判斷 bool bctrlke...

CSocket類網路程式設計 MFC

visual c 的mfc提供了csocket類用來實現網路通訊。下面介紹vc 在windows 95中實現socket的 csocket 類相關成員函式 這些成員函式實際上是從casyncsocket 類繼承來的 的使用。1 bool create uint nsocketport 0,int n...