freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)報(bào)告-利用c實(shí)現(xiàn)smtp協(xié)議-wenkub

2022-11-09 22:59:51 本頁面
 

【正文】 he base class ()。 (szTemp,())。 szTemp = _T(C: )+szTemp。 szTemp = _T(S: )+szTemp。 //(1,(LPCTSTR)buff)。 (1,szTemp)。 (1,(LPCTSTR)szTemp)。 IsShow = TRUE。 szTemp = _T(221 Quit,Goodbye !\r\n)。 } if(strnicmp(buff,QUIT,4)==0) { szTemp = buff。 szTemp = _T(S: )+szTemp。 //(1,(LPCTSTR)buff)。 (1,szTemp)。 (1,(LPCTSTR)szTemp)。 ()。 szTemp = _T(250 Sender OK\r\n)。 } if(strnicmp(buff,MAIL FROM:,10)==0) { szTemp = buff。 ((LPCTSTR)szTemp,())。 //(1,(LPCTSTR)buff)。 ()。 szTemp = _T(250 Message accepted for delivery\r\n)。 CString Temp 。 if(IsDataContent) { while(strstr(buff,\r\n.\r\n)==NULL) { 東 北大學(xué)秦皇島分校課程設(shè)計(jì) 第 4 頁 str+=buff。 ()。//清空緩沖區(qū)接收數(shù)據(jù) nRead = (buff, 65536)。 } void CSMTPSeverDlg::OnReceive() { char buff[65536]。 str = _T(S: )+str。 if((m_Server)) { (*** 建立連接 )。 } else { CDialog::OnSysCommand(nID, lParam)。 東 北大學(xué)秦皇島分校課程設(shè)計(jì) 第 3 頁 return TRUE。 // Set small icon // TODO: Add extra initialization here IsDataContent = FALSE 。 pSysMenuAppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu)。 CMenu* pSysMenu = GetSystemMenu(FALSE)。 服務(wù)器端相關(guān)代碼: 1)、相關(guān)核心代碼如下: // : implementation file include include include include include fstream // CSMTPSeverDlg message handlers BOOL CSMTPSeverDlg::OnInitDialog() { CDialog::OnInitDialog()。 ( 2)客戶端發(fā)送 HELO 命令以標(biāo)識(shí)發(fā)件人自己的身份,然后客戶端發(fā)送 MAIL 命令;服務(wù)器端正希望以 OK 作為響應(yīng),表明準(zhǔn)備接收。 SMTP 也是個(gè)請(qǐng)求 /響應(yīng)協(xié)議,命令和響應(yīng)都是基于ASCⅡ 文本,并以 CR 和 LF 符結(jié)束。 SMTP 重要特性之一是其能跨越 網(wǎng)絡(luò)傳輸 郵件,即 “ SMTP 郵件中繼 ”。 VC++是微軟公司開發(fā)的一個(gè) IDE(集成開發(fā)環(huán)境 ),換句話說 ,就是使用 c++的一個(gè)開發(fā)平臺(tái) .有些軟件就是這個(gè)編出來的 ...另外還有 VB, .但是 ,vc++是Windows 平臺(tái)上的 C++編程環(huán)境,學(xué)習(xí) VC 要了解很多 Windows 平臺(tái)的特性并且還要掌握 MFC、 ATL、 COM 等的知識(shí),難度比 較大。要為一個(gè)給定的域名決定一個(gè) SMTP 服務(wù)器,需要使用 MX(Mail eXchange) DNS。 SMTP 是建立在 FTP 文件傳輸服務(wù) 上的一種郵件服務(wù),主要用于傳輸系統(tǒng)之間的郵件信息 并提供與來信有關(guān)的通知。 SMTP 目前已是事實(shí)上的在 Inter 傳輸 EMail 的標(biāo)準(zhǔn),是一個(gè)相對(duì)簡(jiǎn)單的基于文本的協(xié)議。 。 Windows 下編程需要了解 Windows的消息機(jī)制以及回調(diào)( callback)函數(shù)的原理; MFC 是 Win32API的包裝類,需要理解文檔視圖類的結(jié)構(gòu),窗口類的結(jié)構(gòu),消息流向等等; COM 是代碼共享的二進(jìn)制標(biāo)準(zhǔn),需要掌握其基本原理等等。通常, 一個(gè)網(wǎng)絡(luò)可以由公用 互聯(lián)網(wǎng) 上 TCP 可相互訪問的 主機(jī) 、防火墻分隔的 TCP/IP 網(wǎng)絡(luò)上 TCP 可相互訪問的主機(jī),及其它 LAN/WAN 中的主機(jī)利用非 TCP 傳輸層 協(xié)議組成。響應(yīng)包括一個(gè)表示返回狀態(tài)的三位數(shù)字代碼。 ( 3)客戶端發(fā)送 RCPT 命令,以標(biāo)識(shí)該電子郵件的計(jì)劃接收人,可以有多個(gè) RCPT 行;服務(wù)器端則表示是否愿意為收件人接收郵件。 // Add About... menu item to system menu. // IDM_ABOUTBOX must be in the system mand range. ASSERT((IDM_ABOUTBOX amp。 if (pSysMenu != NULL) { CString strAboutMenu。 } } // Set the icon for this dialog. The framework does this automatically // when the application39。 IsShow = FALSE 。 // return TRUE unless you set the focus to a control } void CSMTPSeverDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID amp。 } } void CSMTPSeverDlg::OnAccept() { CString str。 (1,str)。 (1,str)。 char local_host[80]。 //根據(jù)讀到的長(zhǎng)度 switch (nRead) { case 0: ()。 } break。 memset(buff,0,65536)。 (%s\r\n\r\n,(LPCTSTR)())。 (szTemp,())。 IsDataContent=FALSE。 (1,(LPCTSTR)szTemp)。 szTemp = _T(S: )+szTemp。 szTemp = _T(C: )+szTemp。 (szTemp,())。 } if(strnicmp(buff,RCPT TO:,8)==0) { szTemp = buff。 szTemp = _T(250 Receiver OK\r\n)。 ()。 (1,(LPCTSTR)szTemp)。 (1,szTemp)。 szTemp = _T(C: )+szTemp。 (szTemp,())。 } if (strnicmp(buff,AUTH LOGIN,10)==0) { szTemp = buff。 szTemp = _T(334 dXNlcm5hbWU6\r\n)。 ()。 (1,(LPCTSTR)szTemp)。 (1,szTemp)。 //(1,(LPCTSTR)buff)。 szTemp = _T(S: )+szTemp。 ()。 (Listening on port %d, 25)。 (1,S: 服務(wù)器關(guān)閉成功 )。 ()。 } } if(!(1)) { if (GetLastError() != WSAEWOULDBLOCK) { TCHAR szError[256]。 return 。 ()。 std::string Base64::base64_encode(const std::string amp。 int in_ = 0。amp。amp。 i 4。 //將六個(gè)字節(jié)和下一個(gè)六字節(jié)的前兩位組成 8 位解碼 char_array_3[1] = ((char_array_4[1] amp。 0x3) 6) + char_array_4[3]。 i = 0。 for (j = 0。 0x30) 4)。 char_array_3[2] = ((char_array_4[2] amp。 j++) ret += char_array_3[j]。 int j = 0。 if (i == 3) //湊足三個(gè)字節(jié)進(jìn)行編碼 { char_array_4[0] = (char_array_3[0] amp。 0xf0) 4)。 char_array_4[3] = char_array_3[2] amp。 i++) ret += base64_chars[char_array_4[i]]。 j++) //不足三個(gè)字節(jié)則用 0 補(bǔ)足在進(jìn)行編碼 char_array_3[j] = 39。 char_array_4[1] = ((char_array_3[0] amp。 0x0f) 2) + ((char_array_3[2] amp。 for (j = 0。=39。 } // : implementation file // include include include include ifdef _DEBUG define new DEBUG_NEW undef THIS_FILE static char THIS_FILE[] = __FILE__。 CAsyncSocket::OnReceive(nErrorCode)。 endif CListenerSocket::CListenerSocket() { } CListenerSocket::~CListenerSocket() { } // Do not edit the following lines, which are needed by ClassWizard. if 0 BEGIN_MESSAGE_MAP(CListenerSocket, CAsyncSocket) //{{AFX_MSG_MAP(CListenerSocket) //}}AFX_MSG_MAP END_MESSAGE_MAP() endif // 0 // CListenerSocket member functions void CListenerSocket::SetParent(CDialog *pWnd) { m_pWnd = pWnd。 endif static TCHAR _szFilter[] = TEXT(All Files\0*.*\0Text Files (*.txt)\0*.TXT\0)。 // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 m_from = _T()。 //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_bIsSetup = FALSE。 //{{AFX_DATA_MAP(CEMailDlg) DDX_Control(pDX, IDC_LIST_FILE, m_ListBox)。 DDX_Text(pDX, IDC_EDIT_CONTENT, m_content)。 // Add About... menu item to system menu. // IDM_
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1