?? d105.bmp.txt
字號(hào):
CAsyncSocket類相同,調(diào)用CSocket類也需要用到頭文件afxsock.h。具體流程如下:
1)首先,調(diào)用構(gòu)造函數(shù),分別構(gòu)造服務(wù)器和客戶套接字對(duì)象。
2)然后,調(diào)用對(duì)象的Create函數(shù)創(chuàng)建套接字,而Create函數(shù)會(huì)調(diào)用Bind函數(shù)將此套接
字綁定到指定的地址。需要的注意的是,為服務(wù)器創(chuàng)建套接字的時(shí)候需要為其指定端口號(hào)。
由于Create函數(shù)默認(rèn)創(chuàng)建的是一個(gè)流式Socket,而數(shù)據(jù)報(bào)套接字不能使用CArchive,所以如
果沒(méi)有使用CArchive類,那么還可以創(chuàng)建一個(gè)數(shù)據(jù)報(bào)Socket。
3)套接字創(chuàng)建完畢,服務(wù)器調(diào)用Listen成員函數(shù)開(kāi)始偵聽(tīng)客戶的連接請(qǐng)求,而客戶可
以調(diào)用Connect成員函數(shù)向服務(wù)器請(qǐng)求連接。
4)當(dāng)服務(wù)器監(jiān)聽(tīng)到客戶請(qǐng)求連接時(shí),創(chuàng)建一個(gè)新的套接字,并將其傳給Accept成員函
數(shù)以接收客戶的連接請(qǐng)求,函數(shù)執(zhí)行失敗會(huì)返回特定的錯(cuò)誤碼。
5)接著,為服務(wù)器和客戶的套接字對(duì)象分配一個(gè)與之關(guān)聯(lián)的CSocketFile對(duì)象。
6)為服務(wù)器和客戶的套接字對(duì)象分配一個(gè)與CSocketFile相聯(lián)系的CArchive對(duì)象進(jìn)行
數(shù)據(jù)的發(fā)送和接收。
7)使用CArchive對(duì)象在服務(wù)器和客尸套接字之間傳遞數(shù)據(jù)。
8)最后,執(zhí)行完成所有數(shù)據(jù)后,銷毀CArchive、CSocketFile和CSocket對(duì)象。
具體的編程步驟如圖3-21所示。
服務(wù)器
客戶端
圖3-21 CSocket編程步驟
105
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -