




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)例程序的目的和實(shí)現(xiàn)的技10.6 pop3電子郵件接收程序的用戶(hù)界o3o3P口令,經(jīng)過(guò)驗(yàn)證,進(jìn)入PP3左下方的多文本列表框(Rchxox)會(huì)顯示全部的會(huì)話信息。信件全部下載完畢后,左MIME 格式分析,將附件提取出來(lái)。運(yùn)用WindowsMFC CAsyncSocket 類(lèi)派生了自己的套接字類(lèi),并為它添加了OnConnect()、OnClose()OnReceive()三個(gè)事件處理函數(shù)。程序的會(huì)話過(guò)程幾乎完全是由 FD_READ 消息驅(qū)動(dòng)的。建立連接后,服務(wù)器會(huì)返回信息,接FD_READFD_READ消息。如此周而復(fù)始,完成POP會(huì)話的全過(guò)程。程序定義了一個(gè)枚舉類(lèi)型 STATE,并為套接字類(lèi)定義
2、了一個(gè) STATE 類(lèi)型的變量 state,用來(lái)表示POP會(huì)話的實(shí)際狀態(tài)。容易看出,枚舉的成員符號(hào)是客戶(hù)端向POP3服務(wù)器發(fā)送的typedef TCPstateFIRST;然后,條命令,另一方面發(fā)出下一個(gè)命令以后,改變state的值,將它置為該命令的狀態(tài)對(duì)應(yīng)的值,這就實(shí)現(xiàn)了會(huì)話過(guò)程中的狀態(tài)轉(zhuǎn)換,并保證會(huì)話按照既定的順序進(jìn)行。讀者可仔細(xì)分析 typedef pop會(huì)話中,一次性地將信箱中所有信件的信息轉(zhuǎn)入這個(gè)向量,然后可以查閱,存儲(chǔ) 應(yīng)用程序類(lèi):CPop3AppCWinApppop3.h pop3.cpp。 表控件類(lèi)控件靜態(tài)文本 static靜態(tài)文本 static靜態(tài)文本 static口edit
3、editeditCheck多文本框 RichEdit組合選擇框(Drop List型命令按鈕 連命令按鈕 斷命令按鈕 取命令按鈕 查看郵命令按鈕 存 表控件ID ControlIDs變量名變量類(lèi)變量類(lèi)Variable )表控件類(lèi)對(duì)象標(biāo)識(shí)消息函數(shù)Member命令按命令按命令按命令按voidDisp(LONGflag);/在不同的會(huì)話階段顯示不同的信息 mySock pop3Socket;創(chuàng)建從CAsyncSocket為了能夠捕獲并響應(yīng)socketmysock.h mysock.cppmysock OnConnect, OnCloseOnReceive三個(gè)事件處理函數(shù),并為它添加一般的成員函數(shù)和變
4、量。可參看下程序清pop3.hpop3.cppInitInstance()函數(shù)中添加一句初始化多文本框控件的BOOLif return FALSE;(); #includeclassCPop3Dlg:public/Construction void Disp(LONG flag);mySock pop3Socket;/套接字類(lèi)對(duì)象實(shí)例 CPop3Dlg(CWnd*pParent=NULL);/standardconstructor#include stdafx.h #include pop3.h #include pop3Dlg.h#includeBOOL/TODO:Addextrainiti
5、alizationm_strServerm_strUserm_strPassm_bolDelm_Info/return/returnunlessyou setthefocustoavoid CPop3Dlg:OnBtnConn()/取來(lái)用戶(hù)在對(duì)話框中輸入的數(shù)據(jù) m_Info = ;void CPop3Dlg:OnBtnDisc()void CPop3Dlg:OnBtnView()int im_ctrList.GetCurSel(); /m_Infopop3Socket.GetMsgStuff(i); m_Infovoid CPop3Dlg:Disp(LONG flag)CString s; c
6、aseS_CONNECT已連接到服務(wù)器,顯示信息 s = 已連接到+m_strServer+.rn; caseS_RECEIVE:/收到服務(wù)器發(fā)來(lái)的響應(yīng),顯示它的內(nèi)容 caseS_CLOSE:s = 連接已經(jīng)關(guān)閉rn; caseS_GETNUMs.Format(%d 封信rn,pop3Socket.numMsg); caseS_GETSIZE:caseS_ENDRETRs.Format(%d 封信件rn,pop3Socket.msgs.size(); void CPop3Dlg:OnBtnSave()int i; CStrings;i =s = pop3Socket.GetMsgStuff(i
7、);s+=pop3Socket.GetMsgBody(i); CFileDialog dlg(FALSE);CFileCFile:modeCreate|CFile:modeWrite|CFile:typeBinary); #include #include #include using namespace std;#define S_CLOSE#defineS_CONNECT#define S_RECEIVE/當(dāng)收到服務(wù)器發(fā)來(lái)的信息時(shí),顯示該信息 #define S_GETNUM#define S_GETSIZE5#define S_ENDRETRtypedef typedef struct
8、classmySock:public/Attributes CStringlastMsg; CString error;int numMsg, sizeMsg, retrMsg; vectorm_strPass,13,10); case/pass /stat case string/0 strs1numMsgsizeMsg獲得數(shù)量和大小 ) /MESSAGEPROP prop;msgs.push_back(prop壓入向量表 s.Format(retr 1%c%c,13,10); elseerror=Nonewmessagesrn; case/接收到數(shù)據(jù)的時(shí)候,對(duì)應(yīng)向量結(jié)構(gòu)的msgSize0 string temp; /將數(shù)據(jù)大小累加到retrSizeif(retrMsgm_bolDel&numMsg0)s.Format(dele%d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年介入治療師考試題及答案
- 2025年大學(xué)數(shù)學(xué)考試試題及答案
- 2025年考駕駛證的試題及答案
- 2025年學(xué)校會(huì)計(jì)專(zhuān)業(yè)試題及答案
- 2025年新騎手培訓(xùn)測(cè)試題及答案
- 2025年重慶大學(xué)模電試題及答案
- 2025年山西事業(yè)編考試題及答案
- 2025年7下語(yǔ)文測(cè)試題及答案
- 2025年衛(wèi)生學(xué)校筆試題及答案
- 2025年地理知識(shí)考試試題及答案
- 2024屆九省聯(lián)考英語(yǔ)試題(含答案解析、MP3及錄音稿)
- 3歲以下嬰幼兒托育機(jī)構(gòu)一日生活作息時(shí)間表、母乳和配方奶喂養(yǎng)操作流程、嬰兒盥洗操作流程
- 小說(shuō)買(mǎi)斷合同范例
- 幼兒園繪本故事《三只小豬蓋房子》教學(xué)課件全文
- 老年人譫妄護(hù)理
- 華東師范大學(xué)《外國(guó)人文經(jīng)典(上)》2021-2022學(xué)年第一學(xué)期期末試卷
- 2023年國(guó)家林業(yè)和草原局直屬事業(yè)單位招聘筆試真題
- 垃圾分類(lèi)處理及綜合利用項(xiàng)目可行性研究報(bào)告
- 白菜國(guó)畫(huà)課件教學(xué)課件
- 中建做好現(xiàn)場(chǎng)五大材料消耗量管控
- 聲樂(lè)基礎(chǔ)理論知識(shí)單選題100道及答案解析
評(píng)論
0/150
提交評(píng)論