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

正文內(nèi)容

基于mfc的簡(jiǎn)易聊天室-免費(fèi)閱讀

  

【正文】 6 致謝 通過(guò)兩周的 Windos 課程設(shè)計(jì)學(xué)習(xí),使我對(duì) Windows 程序設(shè)計(jì)有了進(jìn)一步的了解和認(rèn)識(shí),動(dòng)手能力得到大大的加強(qiáng)。 至此服務(wù)器端的核心部分介紹完畢。 str=severname+退出 ,與服務(wù)器連接已斷開 。 (csrev[++csnum])。 } 設(shè)計(jì)步驟: ①創(chuàng)建字符串 str、 str1,字符數(shù)組 ss。 for(i=1。int i。 for(int i=1。 ③監(jiān)視端口號(hào)和 IP 格式并設(shè)置相應(yīng)錯(cuò)誤提示(如圖 8)。 cwEnableWindow(false)。 ()。 severname=ipstr。 消息編輯區(qū)編輯框控件 IDC_EDIT2 對(duì)應(yīng)的成員變量為 OnChangeEdit2。 } } 設(shè)計(jì)步驟: ①當(dāng)退出程序時(shí),彈出確認(rèn)對(duì)話框。 cw=GetDlgItem(IDC_EDIT5)。 ②接受來(lái)自服務(wù)器套接字的信息數(shù)據(jù)保存到 ss 中,調(diào)整格式后將其打印到消息區(qū)。 (ss,256)。 if((str,len)1)SetDlgItemText(IDC_EDIT4,)。 ②利用 GetDlgItemText 將各個(gè)編輯框中的信息賦給相應(yīng)的變量。 SetDlgItemText(IDC_EDIT3,已設(shè)名字 +clientname+\r\n 連接服務(wù)器成功 )。 CWnd *cw=GetDlgItem(IDC_EDIT1)。 ()。 我的 ID 編輯框控件 IDC_EDIT5 對(duì)應(yīng)的成員變量為 OnChangeEdit5。這樣就形成了一個(gè)采用 Client/Server 結(jié)構(gòu)的并可以多人同時(shí)在線的聊天室。請(qǐng)注意 Accept() 成員函數(shù)需要一個(gè)新的并且為空的 CSocket 對(duì)象作為它的參數(shù),解釋同上。 使用 CSocket 對(duì)象涉及 CArchive 和 CSocketFile 類對(duì)象。 第 6 頁(yè) 例如:“阻塞”方案;發(fā)送和接收計(jì)算機(jī)之間的字節(jié)順序差異;在 Unicode 和多字節(jié)字符 集(MBCS)字符串之間轉(zhuǎn)換。 有關(guān)示例,請(qǐng)參見(jiàn)文章 Windows Sockets: 操作順序。 如果套接字是客戶端,則使用 CAsyncSocket::Connect 將此套接字對(duì)象連接到服務(wù)器套接字。任一個(gè) Create 版本都可以和任一種構(gòu)造方法一起使用。 套接字的創(chuàng)建遵循兩階段構(gòu)造的 MFC 模式。 在模態(tài)對(duì)話框與非模態(tài)對(duì)話框執(zhí)行的任意時(shí)刻都可以調(diào) CWnd::UpdateData。當(dāng)構(gòu)造了一個(gè) CDialog 對(duì)象之后,調(diào)用 CreateIndirect 創(chuàng)建非模態(tài)對(duì)話框,或調(diào)用 InitModalIndirect 和 DoModal 來(lái)創(chuàng)建模態(tài)對(duì)話框。 ClassWizard 將成員變量加入對(duì)話框派生類中 [3]。 ClassWizard觀察對(duì)話框每個(gè)控件可能產(chǎn)生的消息,可以選擇你所希望處理的消息。 Cdialog 類 CDialog 類是在屏幕上顯示的對(duì)話框基類。 Windows Sockets 規(guī)范定義并記錄了如何使用 API 與 Inter 協(xié)議族( IPS,通常我們指的是 TCP/IP)連 接,尤其要指出的是所有的 Windows Sockets 實(shí)現(xiàn)都支持流套接口和數(shù)據(jù)報(bào)套接口。它不僅包含了人們所熟悉的 Berkeley Socket風(fēng)格的庫(kù)函數(shù);也包含了一組針對(duì) Windows 的擴(kuò)展庫(kù)函數(shù),以使程序員能充分地利用Windows 消息驅(qū)動(dòng)機(jī)制進(jìn)行編程。就可以與同一服務(wù)器上的用戶交談,這是一個(gè)面向連接的通信過(guò)程。 ( 2)維護(hù)一個(gè)鏈表,保存所有用戶的 IP 地址、端口信息。 關(guān)鍵詞 : WinSock; C/S; Visual C++ ;聊天 1 需求分析 當(dāng)前是數(shù)字信息時(shí)代,網(wǎng)絡(luò)時(shí)代,任何一種編輯工具都不能忽視在網(wǎng)絡(luò)上的應(yīng)用,并且隨著 Inter 的普及和寬帶技術(shù)的成熟,越來(lái)越多的用戶進(jìn)入網(wǎng)絡(luò)世界中享用瀏覽新聞、查詢信息、發(fā)送郵件、在線觀看電影等服務(wù),享受網(wǎng)絡(luò)帶來(lái)的便利和辦公的高效,與此同時(shí)一個(gè)新型的 Web 應(yīng)用程序?yàn)榫W(wǎng)民之間提供了一個(gè)實(shí)時(shí)通信的功能和場(chǎng)所,這就是聊天室。 安陽(yáng)師范學(xué)院本科學(xué)生畢業(yè)論文 基于 MFC 的簡(jiǎn)易聊天室 作 者 王 偉 系 (院 ) 計(jì)算機(jī)與信息工程學(xué)院 專 業(yè) ___計(jì)算機(jī)科學(xué)與技術(shù) 年 級(jí) 2020級(jí)本科 學(xué) 號(hào) 080902067 指導(dǎo)教師 康 晶 日 期 2020 年 5 月 學(xué)生誠(chéng)信承諾書 本人鄭重承諾:所呈交的論文是我個(gè)人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。 在網(wǎng)絡(luò)早期就開始盛行,不論是 BBS, IRC 都有類似網(wǎng)上聊天室的機(jī)制。 ( 3)接受用戶傳送來(lái)的聊天信息,然后向鏈表中的所用用戶轉(zhuǎn)發(fā)。因此,程序要在 TCP/IP 環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶端兩部分程序。 Windows Sockets 規(guī)范本意在于提供給應(yīng)用程序開發(fā)者一套簡(jiǎn)單的 API,并讓 各家網(wǎng)絡(luò)軟件供應(yīng)商共同遵守。 應(yīng)用程序調(diào)用 Windows Sockets 的 API 實(shí)現(xiàn)相互之間的通訊。對(duì)話框有兩類:模態(tài)對(duì)話框和非模態(tài)對(duì)話框。 ClassWizard 將適當(dāng)?shù)南⒂成淦魅肟诤拖⑻幚沓蓡T函數(shù)加到一個(gè)新類中。 然后, ClassWizard 寫入成員函數(shù)與對(duì)話框控件之間的交換數(shù)據(jù)自動(dòng)映射的數(shù)據(jù)。 ClassWizard 在覆蓋它為新對(duì)話框類加入的 CWnd::DoDataExchange 之后寫入交換和有效性規(guī)則的數(shù)據(jù)映射。 如果要手工創(chuàng)建對(duì)話框,應(yīng)為對(duì)話框派生類添加必需的成員變量,并添加已獲得數(shù)據(jù)值的成員函數(shù)。 例如 : CAsyncSocket sock。 Create 的參數(shù)有: ○ 1 “ 端口 ” :短整型。 如果套接字是服務(wù)器,則將套接字設(shè)置為開始偵聽(tīng) ( 使用 CAsyncSocket::Listen) 來(lái)自客戶端的連接嘗試。通過(guò)調(diào)用 CAsyncSocket 對(duì)象的封裝 Windows Sockets API 函數(shù)的成員函數(shù),與其他套接字進(jìn)行通信。 利用 CSocket 進(jìn)行有連接的通信 微軟的 MFC 把復(fù)雜的 WinSock API 函數(shù)封裝到類里,這使得編寫網(wǎng)絡(luò)應(yīng)用程序更容易。以下介紹的針對(duì)字節(jié)流型套接字的操作步驟中,只有第 3 步對(duì)于客戶方和服務(wù)方操作是不同的,其他步驟都相同。 ( 4) 產(chǎn)生一個(gè) CSocketFile 對(duì)象,并把它與 CSocket 對(duì)象關(guān)聯(lián)起來(lái)。 客戶端的實(shí)現(xiàn) ( 1)首先啟動(dòng) Visual C++ ,利用 MFC AppWizard[EXE]建立一個(gè)新的 MFC 工程 ,工程名為 tcpclient,在 MFC AppWizard Step1 的時(shí)候選擇 Dialog based 即基于對(duì)話框,在 Step4時(shí)勾選 Windows Sockets 選項(xiàng) (如圖 3) ,其他 默認(rèn)值下一步。 ( 4)下面重點(diǎn)介紹一下單擊連接服務(wù)器按 鈕時(shí)的處理網(wǎng)絡(luò)連接的函數(shù)。 ()。 cwEnableWindow(false)。 CString enterinfo=clientname+進(jìn)入聊天室 。 ③監(jiān)視端口號(hào)和 IP 格式并設(shè)置相應(yīng)錯(cuò)誤提示(如圖 5,圖 6)。 } 定義字符串 str 用于保存輸入的消息,調(diào)整格式后 使用 CSocket 的操作函數(shù) send 將消息發(fā)送到服務(wù)器。 if(ss!=) (%s,ss)。 ( 7)當(dāng)與服務(wù)器斷開連接時(shí)彈出警告,如 圖 7: 圖 7 失去連接提示 代碼設(shè)置如下: void CTcpclientDlg::oncl() { MessageBox(失去連接或者找不到服務(wù)器 )。 cwEnableWindow(true)。 ②當(dāng)選擇“是”時(shí),將用戶退出信息發(fā)送至服務(wù)器并關(guān)閉對(duì)話框。 服務(wù)器名稱編輯框控件 IDC_EDIT3 對(duì)應(yīng)的成員變量為 OnChangeEdit3。 GetDlgItemText(IDC_EDIT4,portstr)。 (this,csnum)。 cw=GetDlgItem(IDC_EDIT1)。 圖 10 監(jiān)聽(tīng)失敗 第 14 頁(yè) 圖 11 端口錯(cuò)誤 ④設(shè)置建立連接后相應(yīng)提示 。i=csnum。 char ss[100]。i=csnum。 ②接受來(lái)自服務(wù)器套接字的信息數(shù)據(jù)保存到 ss 中,調(diào)整格式后將其打印到消息區(qū)。 csrev[csnum].setp(this,csnum)。 len=()。 第 16 頁(yè) 4 程序運(yùn)行結(jié)果 服務(wù)器端 圖 13 聊天室服務(wù)器端 客戶端 圖 14 聊天室客戶端 第 17 頁(yè) 5 結(jié)束語(yǔ) 為期兩個(gè)月的畢業(yè)設(shè)計(jì)即將結(jié)束了,經(jīng)過(guò)努力,我順利的完成了這次畢業(yè)設(shè)計(jì)。 在這期間,遇到的各種問(wèn) 題得到了老師和同學(xué)的大力支持和幫助,使我跨過(guò)了一道道難關(guān)。感謝學(xué)校安排的此
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1