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

正文內(nèi)容

第10章160網(wǎng)絡(luò)程序設(shè)計實(shí)例-文庫吧資料

2024-10-13 16:13本頁面
  

【正文】 設(shè)置 ”選擇項(xiàng) , 并填寫相關(guān)屬性;如果是局域網(wǎng) (LAN)上網(wǎng)的 ,則要進(jìn)入局域網(wǎng) (LAN)設(shè)置代理服務(wù)器的地址和端口號 。 (3) 點(diǎn)擊 “ Inter”。 因此 , 要正確使用本程序 , 必須先在 Windows系統(tǒng)中定義好網(wǎng)絡(luò)訪問類型 , 步驟如下: (1) 雙擊桌面上 “ 我的電腦 ” 圖標(biāo) 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 ● DWORD dwAccessType:值缺省時將使用系統(tǒng)注冊簿定義的值 。 ● DWORD dwFlags : 可 為 以 下 參 數(shù) :INTERNET_FLAG_DON39。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 ● LPCTSTR pstrProxyName :如訪問類型為INTERNET_OPEN_TYPE_PROXY, 則給該參數(shù)賦予協(xié)議名稱 。 ● ?DWORD dwContext:本操作的設(shè)備關(guān)聯(lián)符定義 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 這個函數(shù)需要定義很多參數(shù) , 但本程序都使用缺省值 ,即 “ =”號后的值 。 首先 , 根據(jù)我們在第 9章所學(xué)的知識 , 需要建立一個Inter會話 , 這就要定義一個 CInterSession的對象 。 UpdateData(FALSE)。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 } else { m_out+=本地址沒有發(fā)現(xiàn) 主機(jī) \r\n。 } fileClose(?)。fileReadString(line)。i20amp。 CString line。 } 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 if(file) { m_out+=已建立鏈接 。 } catch(CInterException* pEx) { file=NULL。 CInterFile* file=NULL。 m_out+=正在鏈接 +URL+\r\n。 函數(shù)原形為: void TryURL(CString URL)。 編輯框 IDC_EDIT1附加的變量為 m_out, 編輯框 IDC_EDIT2附加的變量為m_host, 它們都應(yīng)為 CString類型的變量 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 圖 108 應(yīng)用程序?qū)υ捒? 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 應(yīng)用程序代碼及其說明 1. 給編輯框添加變量 為了完成程序的顯示和輸入功能 , 需要給編輯框添加對應(yīng)的變量 。 在上面的操作完成以后,適當(dāng)調(diào)整這些資源的布局,使用戶界面比較美觀。 (3) 添加查詢命令按鈕 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 圖 107 屬性對話框 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 (2) 添加一個輸入網(wǎng)址的編輯框 。 使用 VC的資源工具給對話框添加一個編輯框 , 然后右擊編輯框 ,在彈出的下拉菜單中選擇 “ Properties”, 在彈出的編輯控件屬性對話框中 , 將資源的 ID標(biāo)識符設(shè)置為IDC_EDIT1, 再給該編輯框增加一些其他類型屬性 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 (5) 在 “ MFC AppWizardstep 4 of 4”對話框中 , 一般不需要改變 MFC AppWiard自動生成的各種類名 , 直接按 “ 完成 ” 按鈕即可 , 這時彈出一個新建的有關(guān)工程和信息的對話框 。 (3) 在彈出的 “ MFC AppWizardstep 2 of 4”對話框中 ,取消 ActiveX Controls控件的選中標(biāo)記 , 并且注意不要選擇“ Windows Sockets”, 因?yàn)樵谠摮绦蛑形覀儾恢苯诱{(diào)用Windows Sockets函數(shù);在對話框標(biāo)題欄中輸入 “ 服務(wù)器功能掃描程序 ” , 再單擊 “ 下一步 ” 按鈕 。 1. 使用 AppWizard生成對話框程序框架 (1) 在 VC啟動后 , 從 “ 文件 ” 菜單中選擇 “ 新建 … ”,在 “ 新建 ” 對話框中選擇使用 MFC的應(yīng)用程序生成向?qū)Ы⒁粋€應(yīng)用程序 , 即選擇 “ MFC AppWizard(exe)”, 然后在 “ 工程 ” 框內(nèi)輸入要新建工程的名稱 , 在該例中我們?nèi)∶麨?scan, 再單擊 “ 確定 ” 按鈕 , 如圖 106所示 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 建立應(yīng)用程序的用戶操作界面 編寫該程序要求用戶對 VC的編程環(huán)境比較熟悉 。 程序功能:給定 Inter中一臺服務(wù)器的域名 , 客戶機(jī)首先與該域名的服務(wù)器建立連接 , 然后查詢該服務(wù)器提供的功能 。39。39。39。39。39。39。 在 : public: CMyServerSocket m_srvrSocket。 程序代碼如下: 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 CnewSocket::OnReceive(int nErrorCode) { m_nLength=receive(m_szBuffer,?sizeof(m_szBuffer),?0); // 直接轉(zhuǎn)發(fā)消息 AsyncSelect(FD_WRITE); } CNewSocket::OnSend(int nErrorCode) { send(m_szBuffer, m_nLength, 0); } 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 2. 創(chuàng)建一個用于建立連接的類 CMyServerSocket 創(chuàng)建一個用于建立連接的類 CMyServerSocket, 并重載 CAsyncSocket類的 OnAccept(?)函數(shù) 。因此 , 服務(wù)器程序的代碼主要是重載 CAsyncSocket類的接收和發(fā)送函數(shù) 。當(dāng)連接建立后,就可以在客戶程序?qū)υ捒蛑休斎牖厮托畔?,并按?Send”按鈕進(jìn)行程序測試了。當(dāng)該項(xiàng)目運(yùn)行時,彈出如圖 104所示的程序?qū)υ捒颉? //關(guān)閉對話框 EndDialog(0)。 ()。 } 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 12. 添加 “ 發(fā)送 ” 按鈕的程序代碼 雙擊 IDD_CSOCKCLIENT_DIALOG對話框中的“ 發(fā)送 ” 按鈕 , 添加以下代碼: void CCSockClientDlg::OnSend(?) { if () { = (, sizeof())。 return。 if (TryCount =10 || ) 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 { KillTimer(1)。 } } (m_szServerAdr,m_szPort)。 PostQuitMessage(0)。 if(!bFlag) 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 { AfxMessageBox(Socket Error!)。 TryCount=0。 m_szPort=。amp。 //默認(rèn)端口 7 =7。 =FALSE。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 10. 添加 “ 連接 ” 按鈕的程序代碼 雙擊 IDD_CSOCKCLIENT_DIALOG對話框中的 “ 連接 ” 按鈕 , 添加以下代碼: void CCSockClientDlg::OnConnect(?) { (2)。 UINT m_szPort。 它們的 ID標(biāo)識 、 類型和名稱如下: Control ID Type Member IDC_Addr CString m_Addr IDC_Port Int m_Port 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 然后向 CSockClientDlg類中添加如下代碼: protected: int TryCount。在該對話框中增加兩個編輯 (Edit)控件:一個為 IDC_Addr,用來輸入要連接的 IP地址;另一個為 IDC_Port, 用來輸入端口號 。 } CAsyncSocket::OnConnect(nErrorCode)。39。39。 pDlg(0,m_szBuffer)。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 memcpy(m_szBuffer,Connected to ,13)。 CCSockClientApp* pApp=(CCSockClientApp*)AfxGetApp(?)。 CAsyncSocket::OnSend(nErrorCode)。39。39。 memset(m_szBuffer,0,sizeof(m_szBuffer))。 } 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 (3) ?OnSend(?)函數(shù)重載的代碼如下: void MySock::OnSend(int nErrorCode) { Send(m_szBuffer,m_nLength,0)。 memset(m_szBuffer,0,sizeof(m_szBuffer))。 CCSockClientDlg*pDlg=(CCSockClientDlg*)pAppm_pMainWnd。 } 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 (2) ?OnReceive (?)函數(shù)重載的代碼如下: void MySock::OnReceive(int nErrorCode) { m_nLength=Receive(m_szBuffer,sizeof(m_szBuffer),0)。 memset(m_szBuffer,0,sizeof(m_szBuffer))。 //消息長度 char m_szBuffer[4096]。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 圖 103 添加類變量 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 3. 生成 CAsyncSocket類的子類 MySock 4. 在 在生成的 : include include “ 5. 向 向 : public: BOOL m_bConnected。 1. 創(chuàng)建一個工程 使用 VC++ 的 應(yīng) 用 程 序 生 成 向 導(dǎo) (MFC AppWizard[exe])創(chuàng)建一個基于對話框的工程 , 該工程的名稱為 CSockClient。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 使用 MFC類庫進(jìn)行網(wǎng)絡(luò)程序 設(shè)計的實(shí)例 創(chuàng)建客戶端程序 我們使用 VC++提供的可視化集成編程環(huán)境來創(chuàng)建客戶端程序 。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 (a) UDP程序 2收到的信息 (b) UDP程序 1收到的信息 圖 102 UDP程序收到數(shù)據(jù)后彈出的窗口 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 在學(xué)習(xí)這兩個程序的過程中 , 我們應(yīng)該注意兩個問題: (1) 在程序中 , 雖然使用的是數(shù)據(jù)報傳輸方式(SOCK_DGRAM), 但卻使用 bind(?)函數(shù)進(jìn)行了地址的綁定 。 在UDP程序 1的窗口中點(diǎn)擊鼠標(biāo)左鍵 , 則可以發(fā)送數(shù)據(jù)給UDP程序 2, UDP程序 2在收到 UDP程序 1發(fā)送的數(shù)據(jù)后 ,彈出如圖 102(a)所示的窗口 , 并顯示收到的數(shù)據(jù) 。 這兩個程序執(zhí)行后的窗口如圖 101所示 , 其中 , 圖 (a)是 UDP程序 1執(zhí)行后的窗口 , 圖 (b)是 UDP程序 2執(zhí)行后的窗口 。 } return DefWindowProc(hW,msg,wP,lP)。Cs2A,len)。 len = sizeof(Cs2A)。 } break。 MessageBox(0,recvBuf,UDP程序 2從 UDP程序 1收到的數(shù)據(jù) ,0)。 case WM_USER+1: //Socket觸發(fā)事件 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 switch(LOWORD(lP)) { case FD_READ: //接收遠(yuǎn)程信息 len=recv(s1,recvBuf,sizeof(recvBuf),0)。 //向 Windows注冊網(wǎng)絡(luò)事件 WSAAsyncSelect(s1,hW,WM_USER+1,FD_READ)。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 //遠(yuǎn)程端口 = htons(Cs2Port)。Cs1A,sizeof(Cs1A))。 //本地 IP地址 =i_addr(Cs1IP)。 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 //設(shè)置地址類型 =AF_INET。ws)。 break。 //卸載動態(tài)鏈接庫 Winsock DLL 第 10章 網(wǎng)絡(luò)程序設(shè)計實(shí)例 WSACleanup( )。 //存放接收到的字節(jié)數(shù) 第 10章
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1