網路程式設計人員可以呼叫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...