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

正文內(nèi)容

基于qt嵌入式網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)(編輯修改稿)

2025-06-12 19:03 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 通過(guò)WSAGetLastError()來(lái)獲取相應(yīng)的錯(cuò)誤代碼。錯(cuò)誤代碼 WSA_IO_PENDING 表示重疊操作成功啟動(dòng),過(guò)后將有完成指示。任何其他的錯(cuò)誤表示重疊操作未能成功地啟動(dòng),以后也不會(huì)有完成指示。 若無(wú)錯(cuò)誤發(fā)生, send()返回所發(fā)送數(shù)據(jù)的總數(shù)(請(qǐng)注意這個(gè)數(shù)字可能小于 len中所規(guī)定的大小)。否則的話,返回 SOCKET_ERROR 錯(cuò)誤,應(yīng)用程序可通過(guò) WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。 若無(wú)錯(cuò) 誤發(fā)生, recv()返回讀入的字節(jié)數(shù)。如果連接已中止,返回 0。否則的話,返回 SOCKET_ERROR 錯(cuò)誤,應(yīng)用程序可通過(guò) WSAGetLastError()獲取相應(yīng)錯(cuò)誤代碼。 4 界面模塊 分析 服務(wù)器端界面模塊分析 在服務(wù)器界面設(shè)計(jì)上設(shè)計(jì)很簡(jiǎn)單,通過(guò)一個(gè)列表框來(lái)顯示服務(wù)器信息,一個(gè)啟動(dòng)按鈕來(lái)啟動(dòng)服務(wù)器,一個(gè)退出按鈕關(guān)閉服務(wù)器。 如果服務(wù)器啟動(dòng)沒(méi)有什么問(wèn)題就會(huì)在列表框中顯示“ 創(chuàng)建服務(wù)器成功”字樣。 當(dāng)用戶登陸,就會(huì)在列表框中顯示如“ 連接,接受 : USER 1001,接受 : PASS 1001” 三行字樣,如果登陸成功,在列表框中就會(huì)顯示“接受: LIST”字樣,獲取在線用戶列表。如果登陸失敗,在列表框中就會(huì)顯示如“ .. 斷開(kāi)”字樣。 在注冊(cè)用戶的時(shí)候,如果注冊(cè)成功,在列表框中就會(huì)顯示如“ ADD USER 1001 SUCCESS” ,如果失敗,就會(huì)在列表框中顯示“ ADD USER FAIL” 當(dāng)修改用戶信息的時(shí)候就會(huì)在列表框中顯示“接受 : GINF 1001” ,如果修改成功,就會(huì)在列表框中顯示“接受 : UINF 1001” 。 客戶端界面模塊分析 客戶端界面主要包括用戶登陸界面、用戶注冊(cè)界面、在線用戶列表界面、用戶聊天 12 界面。 其中客戶端界面設(shè)計(jì)思路,主要設(shè)計(jì)過(guò)程如圖 3 所示: 圖 3 客戶端界面輪廓 用戶登陸界面分析 用戶登陸界面如圖 4 所示 圖 4 用戶登陸界面 如圖 4 顯示,當(dāng)單擊“登陸”按鈕進(jìn)行用戶的登陸: 當(dāng)用戶號(hào)碼未填寫時(shí),會(huì)提示“請(qǐng)輸入用戶號(hào)碼”。 當(dāng)用戶密碼未填寫時(shí),會(huì)提示“請(qǐng)輸入用戶密碼”。 當(dāng)服務(wù)器 IP未填寫或 格式不正確,會(huì)提示“請(qǐng)?zhí)顚懻_的服務(wù)器地址”。 勾選“保護(hù)密碼”,在下次打開(kāi)該登陸界面時(shí),在輸入框里自動(dòng)顯示上次登陸時(shí)輸入的三項(xiàng)信息。 用戶信息填寫完畢后 ,按“登陸”按鈕 ,如果與服務(wù)器連接失敗 ,就會(huì)提示如“連接失敗 :不能連接 上的服務(wù)器” 用戶登陸 用戶注冊(cè) 獲得在線用戶 用戶聊天 消息收 /發(fā) 文件收 /發(fā) 增加好友 查看 /修改信息 13 登陸成功就會(huì)進(jìn)入在線用戶列表界面 ,如圖 6所示 .。 單擊“取消”按鈕退出登陸界面。 單擊“注冊(cè)向?qū)А卑粹o就可以進(jìn)入用戶注冊(cè)界面 ,如圖 5 所示。 用戶聊天界面 首先選擇你要聊天的好友。通過(guò)“發(fā)送” 按鈕發(fā)送你要講的內(nèi)容,通過(guò)“聊天記錄”按鈕 /“關(guān)閉記錄”按鈕來(lái)顯示 /關(guān)閉聊天記錄。單擊“傳送文件”按鈕,跳出文件目錄,讓你選擇你要傳送的文件。如圖 10所示。 圖 10 傳送文件界面 5 數(shù)據(jù)庫(kù)模塊 分析 數(shù)據(jù)庫(kù)的 選擇 選擇一個(gè)好的應(yīng)用程序?qū)σ粋€(gè)應(yīng)用系統(tǒng)來(lái)說(shuō)是非常重要的。應(yīng)用系統(tǒng)應(yīng)該選擇哪種數(shù)據(jù)庫(kù)要根據(jù)系統(tǒng)的要求和企業(yè)的實(shí)際情況而定。目前,所有流行的幾種大型關(guān)系型數(shù)據(jù)庫(kù)有 MS SQL Server、 Oracle、 DB2等。本系統(tǒng)使用 MS SQL Server,主要有以下幾點(diǎn)理由: 1) MS SQL Server 比較容易使用,一般管理員較熟悉。 2) MS SQL Server 有存儲(chǔ)過(guò)程、視圖等方便功能擴(kuò)展。 14 數(shù)據(jù)庫(kù)訪問(wèn)方法 本程序示通過(guò) 用 ADO 來(lái) 訪問(wèn)數(shù)據(jù)庫(kù) ,分別 用 ADO 訪問(wèn) 了 數(shù)據(jù)庫(kù)的各個(gè)對(duì)象及各方法。 ADO 數(shù)據(jù)庫(kù)編程 ADO 與 ADO接 口簡(jiǎn)介 ADO 是 Microsoft 為最新和最強(qiáng)大的數(shù)據(jù)訪問(wèn)范例 OLE DB 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌凇?ADO 使您能夠編寫應(yīng)用程序以通過(guò) OLE. DB 提供者訪問(wèn)和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。 OLE DB 是一組 ” 組件對(duì)象模型 ”(COM) 接口,是新的數(shù)據(jù)庫(kù)低層接口,它封裝了 ODBC 的功能,并以統(tǒng)一的方式訪問(wèn)存儲(chǔ)在不同信息源中的數(shù)據(jù)。OLE DB 是 Microsoft UDA(Universal Data Access)策略的技術(shù)基礎(chǔ)。 OLE DB 為任 何數(shù)據(jù)源提供了高性能的訪問(wèn),這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對(duì)象等等。 OLE DB 應(yīng)用程序編程接口的目的是為各種應(yīng)用程序提供最佳的功能,它并不符合簡(jiǎn)單化的要求。您需要的 API 應(yīng)該是一座連接應(yīng)用程序和 OLE DB 的橋梁,這就是 ActiveX Data Objects (ADO)。 ADO 庫(kù) 包含 三個(gè) 基本 接口 :_ConnectionPtr 接 口、 _CommandPtr 接口和_RecordsetPtr 接口。 _ConnectionPtr 接口返回一個(gè)記錄集或一個(gè)空指 針。通常使用它來(lái)創(chuàng)建一個(gè)數(shù)據(jù)連接或執(zhí)行一條不返回任何結(jié)果的 SQL語(yǔ)句,如一個(gè)存儲(chǔ)過(guò)程。使用 _ConnectionPtr 接口返回一個(gè)記錄集不是一個(gè)好的使用方法。對(duì)于要返回記錄的操作通常用 _RecordserPtr來(lái)設(shè)計(jì)。而用 _ConnectionPtr 操作時(shí)要想得到記錄條數(shù)得遍歷所有記錄,而用_RecordserPtr 時(shí)不需要。 _CommandPtr 接口返回一個(gè)記錄集。它提供了簡(jiǎn)單的方法來(lái)執(zhí)行返回記錄集的存儲(chǔ)過(guò)程和 SQL語(yǔ)句。在使用 _CommandPtr 接口時(shí),你可以利用全局 _ConnectionPtr 接 口,也可以在 _CommandPtr 接口里直接使用連接串。如果你只執(zhí)行一次或幾次數(shù)據(jù)訪問(wèn)操作,后者是比較好的選擇。但如果你要頻繁訪問(wèn)數(shù)據(jù)庫(kù),并要返回很多記錄集,那么,你應(yīng)該使用全局 _ConnectionPtr 接口創(chuàng)建一個(gè)數(shù)據(jù)連接,然后使用 _CommandPtr 接口執(zhí)行存儲(chǔ)過(guò)程和 SQL 語(yǔ)句。 _RecordsetPtr 是一個(gè)記錄集對(duì)象。與以上兩種對(duì)象相比,它對(duì)記錄集提供了更多的控制功能,如記錄鎖定,游標(biāo)控制等。同 _CommandPtr 接口一樣,它不一定要使用一 15 個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)連接,可以用一個(gè)連接串代替連接指針 賦給 _RecordsetPtr 的connection 成員變量,讓它自己創(chuàng)建數(shù)據(jù)連接。如果你要使用多個(gè)記錄集,最好的方法是同 Command 對(duì)象一樣使用已經(jīng)創(chuàng)建了數(shù)據(jù)連接的全局 _ConnectionPtr 接口,然后使用_RecordsetPtr 執(zhí)行存儲(chǔ)過(guò)程和 SQL語(yǔ)句。 在下面的代碼分析中將詳細(xì)介紹 ADO 怎樣利用這幾個(gè)接口來(lái)對(duì)數(shù)據(jù)庫(kù) SQL 進(jìn)行操作。 使用 ADO 操作 SQL 代碼分析 引入 ADO庫(kù)文件 使用 ADO前必須在工程的 import引入 ADO庫(kù)文件 ,以使編譯器能正確編譯。 這行語(yǔ)句聲明在工程中使用 ADO,但不使用 ADO 的名字空間,并且為了避免常數(shù)沖突,將常數(shù) EOF 改名為 adoEOF?,F(xiàn)在不需添加另外的頭文件,就可以使用 ADO 接口了 。 初始化 OLE/COM 庫(kù)環(huán)境 必須注意的是, ADO庫(kù)是一組 COM 動(dòng)態(tài)庫(kù),這意味應(yīng)用程序在調(diào)用 ADO前,必須初始化 OLE/COM 庫(kù)環(huán)境。在 MFC 應(yīng)用程序里,一個(gè)比較好的方法是在應(yīng)用程序主類的InitInstance 成員函數(shù)里初 始化 OLE/COM 庫(kù)環(huán)境。 判斷數(shù)據(jù)庫(kù)的存在 使用 USE 語(yǔ)句,成功了就存在;不成功,就不存在。 連接數(shù)據(jù)庫(kù) 通過(guò) MS SQL SERVER 2021 創(chuàng)建數(shù)據(jù)庫(kù)名為 XF,接著在 ODBC 中添加數(shù)據(jù)源,數(shù)據(jù)源名為 XF, 定義一個(gè)指向 Connection 對(duì)象的指針 :_ConnectionPtr _pConnection。 更新記錄信息 修改記錄信息,如用戶信息的修改,下面代碼說(shuō)明了在用戶原來(lái)年齡上增加一歲: 關(guān)閉記錄 在打開(kāi)記錄集進(jìn)行操作之后就必須關(guān)閉記錄集,否則進(jìn)行別的操作的話會(huì)出現(xiàn) 不必要的錯(cuò)誤,關(guān)閉代碼如下: 16 6 總結(jié) 體會(huì)和感想 經(jīng)過(guò)了整整 3個(gè)月的忙碌,終于完成了畢業(yè)設(shè)計(jì)。在這段時(shí)間里體驗(yàn)了無(wú)數(shù)的酸甜苦辣,從解決不了細(xì)小問(wèn)題的苦惱到問(wèn)題最終解決的喜悅,一直伴隨著整個(gè)設(shè)計(jì)過(guò)程。整個(gè)設(shè)計(jì)過(guò)程是不斷學(xué)習(xí),不斷發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的過(guò)程。使我受益良多。設(shè)計(jì)期間有許多的感觸、想法、經(jīng)驗(yàn),教訓(xùn),對(duì)以后的學(xué)習(xí)、工作有很大的益處。 本設(shè)計(jì)在查閱了大量的文獻(xiàn)后進(jìn)行理論研究的同時(shí),借鑒了其他聊天程序、聊天程序的優(yōu)缺點(diǎn),在此基礎(chǔ)上展開(kāi)了研究工作,歸納起來(lái),論文取得的成果和創(chuàng)新點(diǎn)主要有以下幾 個(gè)方面: 1) 通過(guò)網(wǎng)絡(luò)編程,設(shè)計(jì)了基本的聊天功能和文件傳輸功能。 2)將數(shù)據(jù)庫(kù)編程和網(wǎng)絡(luò)編程相結(jié)合,利用 VC++ 這一軟件進(jìn)行 MFC 編程,將在大學(xué)里學(xué)到的知識(shí)進(jìn)行了很好的綜合。 3)利用 TCP/IP 協(xié)議中的 TCP協(xié)議,即面向連接的服務(wù),進(jìn)行數(shù)據(jù)的傳輸,對(duì)網(wǎng)絡(luò)中數(shù)據(jù)的傳輸過(guò)程。 總結(jié) 通過(guò)對(duì)這個(gè)畢業(yè)設(shè)計(jì)的開(kāi)發(fā)和學(xué)習(xí),使自己對(duì)軟件開(kāi)發(fā)又有了新的理解,增加了自己的開(kāi)發(fā)能力,也深刻理解了團(tuán)隊(duì)合作的精神。本次開(kāi)發(fā),使我不僅學(xué)了 C++、數(shù)據(jù)結(jié)構(gòu)、sql、 winsock 技術(shù),還對(duì)網(wǎng)絡(luò)編程進(jìn)行了深 入的學(xué)習(xí),總結(jié)出了一些網(wǎng)絡(luò)編程的特點(diǎn),可以為今后的開(kāi)發(fā)提供參考。 最后,要感謝老師對(duì)我的細(xì)心指導(dǎo),同時(shí)感謝我的同學(xué)對(duì)我的寶貴建議。 17 7 參考書目 [1] David J. Kruglinski, Programming Visual C++.1998. [2] 施煒、李錚、秦潁, Windows Sockets 規(guī)范和應(yīng)用 — Windows 網(wǎng)絡(luò)編程接口 . 1996. [3]Anthony Jones and Jim Ohlumd,TCP/IP 詳解 卷一:協(xié)議 (英文版 ). 機(jī)械工業(yè)出版社 ,2021. [4] 王罡 林立志 , 基于 Windows 的 TCP/IP 編程 .清華大學(xué)出版社, 2021. [5] 蔣東興等 ,Windows Sockets 網(wǎng)絡(luò)程序設(shè)計(jì)大全 . 清華大學(xué)出版社, 1999. [6] 薩師煊 , 數(shù)據(jù)庫(kù)系統(tǒng)概論 .高等教育出版社, 2021. [7]侯捷,深入簡(jiǎn)出 MFC .1998 . [8]Jeff Prosise,MFC Windows 程序設(shè)計(jì)(第 2版)。清華大學(xué)出版社, 1999. 18 19 20 21 22 23 24 25 26 27 參考: 畢業(yè)論文(設(shè)計(jì))工作記錄及成績(jī)?cè)u(píng)定冊(cè) 題 目: 學(xué)生姓名: 學(xué) 號(hào): 專 業(yè): 班 級(jí): 指 導(dǎo) 教 師: 職稱: 助理指導(dǎo)教 師: 職稱: 年 月 日 實(shí)驗(yàn)中心制 使 用 說(shuō) 明 28 一、此冊(cè)中各項(xiàng)內(nèi)容為對(duì)學(xué)生畢業(yè)論文(設(shè)計(jì))的工作和成績(jī)?cè)u(píng)定記錄,請(qǐng)各環(huán)節(jié)記錄人用黑色或藍(lán)色鋼筆(簽字筆)認(rèn)真填寫( 建議填寫前先寫出相應(yīng)草稿,以避免填錯(cuò) ),并妥善保存。 二、此冊(cè)于學(xué)院組織對(duì)各專業(yè)題目審查完成后,各教研室匯編選題指南,經(jīng)學(xué)生自由選題后,由實(shí)驗(yàn)中心組織發(fā)給學(xué)生。 三、學(xué)生如實(shí)填好本冊(cè)封面上的各項(xiàng)內(nèi)容和選題 審批表的相應(yīng)內(nèi)容,經(jīng)指導(dǎo)教師和學(xué)院領(lǐng)導(dǎo)小組批準(zhǔn)后,交指導(dǎo)教師;指導(dǎo)老師填好《畢業(yè)論文(設(shè)計(jì))任務(wù)書》的各項(xiàng)內(nèi)容,經(jīng)教研室審核后交學(xué)生簽名確認(rèn)其畢業(yè)論文(設(shè)計(jì))工作任務(wù)。 四、學(xué)生在指導(dǎo)老師的指導(dǎo)下填好《畢業(yè)論文(設(shè)計(jì))開(kāi)題報(bào)告》各項(xiàng)內(nèi)容,由指導(dǎo)教師和教研室審核通過(guò)后,確定其開(kāi)題,并將此冊(cè)交指導(dǎo)老師保存。 五、指導(dǎo)老師原則上每周至少保證一次對(duì)學(xué)生的指導(dǎo),如實(shí)按時(shí)填好《畢業(yè)論文(設(shè)計(jì))指導(dǎo)教師工作記錄》,并請(qǐng)學(xué)生簽字確認(rèn)。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1