版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
學院計算機學院專業(yè)計算機科學與技術(shù)班級題目局域網(wǎng)聊天室程序課程名稱VC++課程設計時間該系統(tǒng)要求完成聊天室的全過程,包括客戶端和服務器兩大部分的編程及其連接。服務器端聊天程序負責接收和發(fā)送來自客戶端的聊天信息,客戶端聊天程序負責建立和維護與服務器端的連接,想服務器發(fā)送(1)通過實際軟件項目的分析、設計、編碼、測試等工作,掌握用工具也層出不窮,但當我們學習了《windows程序設計天程序,利用MFC為開發(fā)工具,實現(xiàn)基本的通訊功能。在課程設計中,系統(tǒng)開發(fā)平臺本課程設計主要解決在客戶端于客戶端的信息交換和客戶端于服務器的信息交換先啟動服務器端聊天程序,這是聊天服務器需要指定一個端口號,客戶端則根據(jù)這個端口號以及服務器的網(wǎng)絡地址與服務器進行通信。在這里,把端口號成為“聊天頻服務器啟動后將在這個指定的端口號中等待客戶的連接。對于公共聊天室,服務通過分析發(fā)現(xiàn),該程序完全可以通過VisualC++中MFC完成。2.1設計目的C++作為開發(fā)平臺,通過實踐復習鞏固課堂所學的理論知識,提高對所學知識的綜合應2.2設計要求采用客戶/服務器模式,分為客戶端程序和服務器端程序2.4系統(tǒng)主要功能和主要功能描述(1)客戶端聊天程序要負責建立和維護與服務器的連接,通過獲取用戶的設置嘗試用戶輸入一行信息并且按下回車鍵后聊天程序就要把這一行信息發(fā)送出去,才(3)要隨時準備好接受來自服務器的信息,隨時把接受到的信息顯示出來,讓用戶(4)在用戶退出聊天過程是要關(guān)閉與服務器的連接。比較好的做法是提前通知服務器或者直接給服務器發(fā)送一條退出通知,使得服務器能夠及時掌握客戶端的連登陸服務器并向服務器發(fā)送信息,啟動服務器,服務器等待客戶要求并向客戶反饋在線用戶信息,用戶向服務器發(fā)送信息,服務器處理用戶的數(shù)據(jù),然后用戶開始聊天??蛻舳说牧奶旆譃閷λ腥说男畔⒑退搅牡男畔ⅲ撔畔ㄟ^程序控制分別進行處圖4.1登陸服務器界面圖4.3張三登陸服務器圖4.3李四登陸服務器圖4.4李四發(fā)送消息服務端界面圖4.4張三發(fā)送消息服務端界面圖4.6李四發(fā)送消息的客服端界面圖4.7張三發(fā)送消息的客服端界面GetDlgItem(IDC_BTNSTART)->EnableWindow(FALSE);GetDlgItem(IDC_BTNSEND)->EnableWindow(TRUE);g_ServerSocket=socket(AF_INET,SOCK_STREAM,0);//創(chuàng)建套接字if(INVALID_SOCKET==g_ServerSocket){}SOCKADDR_INif(SOCKET_ERROR==bind(g_ServerSocket,(SOCKADDR*)&svraddr{}{}g_hmutex=CreateMutex(NULL,FALSE,NULL);//創(chuàng)建互斥量DWORDWINAPI{SOCKADDR_INSOCKETRecvSocket;//recvif(INVALID_SOCKET==RecvSocket){}BOOLContinueFlag=TRUE;while(ContinueFlag&&TRUE){BYTErecvBuff[RECV_DATA_SIZE+2]={0};if(SOCKET_ERROR==recvedSize){//WSANOTINITIALISED}UINTCmdFlag;{}BOOLcomeFlag=TRUE;//是否加入用戶列表的標記CChatRoomServerDlg*Server//解析客服端發(fā)來的消息以便確定消息的{caseCONNECT://用戶發(fā)來的連接請求{{if(SOCKET_ERROR=={}}}//向該用戶發(fā)送一條LIST消息使其將所有在線用戶加入用戶列表{{}}{if(SOCKET_ERROR{}}{{comeFlag=FALSE;}}{}if(SOCKET_ERROR{AfxMessageBox("CONNECT中向客戶端發(fā)送登陸成功消息失?。?);}入用戶列表%Y年%m月%d日%H:%M:%S登錄");{{}} {{{}}}%Y年%m月%d日%H:%M:%S下線");{{}}}}}{}g_ClientSocket=socket(AF_INET,SOCK_STREAM,0);//創(chuàng)建套接字if(INVALID_SOCKET==g_ClientSocket){}DWORDdwIP;SOCKADDR_INif(SOCKET_ERROR=={}if(SOCKET_ERROR==碼發(fā)給服務器{}GetDlgItem(IDC_BTNSEND)->EnableWindow(TRUE);GetDlgItem(IDC_USERLOAD)->EnableWindow(FALSE);DWORDWINAPI{while(TRUE){BYTErecvBuff[RECV_DATA_SIZE+2]={0};if(SOCKET_ERROR==recvedSize){}//此函數(shù)不會分解AUDIO命令,直{}{{}casePRIVATE:{}}}}G
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度智能家居系統(tǒng)安裝合同
- 2024年食堂餐飲品牌代理合同3篇
- 福建省南平市五夫中學高三物理月考試卷含解析
- 11 變廢為寶有妙招 ( 說課稿)2024-2025學年統(tǒng)編版道德與法治四年級上冊
- 2024年電腦硬件及軟件購買合同
- 領(lǐng)跑未來家居設計
- 科學知識解密
- 外包保潔合同(2篇)
- 揭秘農(nóng)業(yè)生態(tài)系統(tǒng)
- 2024年虛擬現(xiàn)實技術(shù)研發(fā)與應用委托合同
- 職中英語期末考試質(zhì)量分析
- 過盈配合壓裝力計算
- 中國的世界遺產(chǎn)智慧樹知到答案章節(jié)測試2023年遼寧科技大學
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復
- GB/T 37518-2019代理報關(guān)服務規(guī)范
- GB/T 34370.1-2017游樂設施無損檢測第1部分:總則
- GB/T 15924-1995錫礦石化學分析方法碘量法測定錫量
- GB/T 13914-2013沖壓件尺寸公差
- 貝利尤單抗Belimumab詳細說明書與重點
- BB/T 0045-2021紙漿模塑制品工業(yè)品包裝
評論
0/150
提交評論