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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文--基于vc的局域網(wǎng)聊天室(存儲版)

2025-01-12 17:57上一頁面

下一頁面
  

【正文】 MAP)())。 功能 實(shí)現(xiàn) 圖 7 服務(wù)器啟動界面圖 運(yùn)行 VC,打開服務(wù)端時(shí)啟動界面如上。 在監(jiān)聽端口過程中可能發(fā)生端口被占用的錯(cuò)誤信息,這樣就得重新設(shè)置端口了。i=csnum。 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 17 圖 8 用戶登入后聊天圖 void CTcpseverDlg::Onlisten() { CString ipstr,portstr。 if(port1024amp。 發(fā)送的聊天記錄 灰色了 可清空了 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 18 cw=GetDlgItem(IDC_EDIT4)。 } CString strServ,strPort。 } else{ MessageBox(端口輸入有誤 ,請重新輸入 )。再下面就是服務(wù)器信息。 (bit[index])。 wndGetWindowText(str)。這樣當(dāng)啟動服務(wù)端后顯示出來的就是靜態(tài)文本了,這樣比較美觀。代碼見下: void CTcpseverDlg::OnLButtonDown(UINT nFlags, CPoint point) 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 20 { CWnd* wnd。 CDialog::OnLButtonDown(nFlags, point)。 圖 10 精簡視圖 void CTcpseverDlg::OnShow() { // TODO: Add your control notification handler code here CString str。 =。 SetDlgItemText(IDC_SHOW,str)。rectSeparate)。在 OnClose 中可以設(shè)置一些代碼,給出相關(guān)操作。 }。 OnAccept 為當(dāng)連接成功后調(diào)用。 void CTcpseverDlg::oncl() { for(int i=1。 } 該函數(shù)是設(shè)置“清空”按鈕的狀態(tài)的,當(dāng)鼠標(biāo)在對話框中移動時(shí)檢測狀態(tài)。 對于這 問題 可謂 百思不得其解,在一次不經(jīng)意的學(xué)習(xí)中發(fā)現(xiàn)了阻塞這種說法,雖然之前也知道 SOCKET 是 堵塞編程,但對阻塞一 詞 還是不明其意??墒沁@次的亂碼出現(xiàn)不同尋常,最后也沒一個(gè)很好的解釋,只有另尋他徑,完成設(shè)計(jì)。在 CSocket 中當(dāng)應(yīng) 用程序框架收到某些特殊事件的消息時(shí)會自動調(diào)用某些函數(shù),在這些特殊的函數(shù)中可以寫入自己武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 的代碼來完成某些事件。在聊天過程中當(dāng)消息到來時(shí)框架會自動調(diào)用函數(shù)OnReceive,可以在這個(gè)函數(shù)內(nèi)部寫入 函數(shù) Receive()接收 消息。 在成功完成文字聊天后也嘗試過發(fā)送語音信息, 在調(diào)用 API 函數(shù)檢測硬件 信息 時(shí)便出現(xiàn)了 問題。當(dāng)點(diǎn)擊那片區(qū)域后隱藏靜態(tài)文本,顯示編輯框。 class csocket:public CSocket { public: void OnReceive(int i){ dlgonrev(mynum)。 }。 } 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 } 當(dāng)服務(wù)器斷開后,服務(wù)器應(yīng)該釋放所有創(chuàng)建的套接字 ,并且發(fā)送退出信息 。i++) { if(csrev[i]) { csrev[i].Send(str,len)。 CMenu* pSysMenu = GetSystemMenu(FALSE)。 CString str。 CBitmap bitmap。 wnd=GetDlgItem(IDC_MARK)。 void CTcpseverDlg::Onlisten() { CString ipstr,portstr。 if(port1024amp。 cw=GetDlgItem(IDC_EDIT4)。 } CString strServ,strPort。 } else{ MessageBox(端口輸入有誤 ,請重新輸入 )。 index++。 } 當(dāng)點(diǎn)擊圖片時(shí),可以更換圖片。 wnd=GetDlgItem(IDC_SERVINFORM)。 } else{ MessageBox(綁定監(jiān)聽端口失敗 ,請確認(rèn)該端口沒有被其它程序占用 )。 CWnd *cw=GetDlgItem(IDC_EDIT3)。 ()。 CDialog::OnLButtonDown(nFlags, point)。 void CTcpseverDlg::OnLButtonDown(UINT nFlags, CPoint point) { CWnd* wnd。 SetDlgItemText(IDC_EDIT3,亡羊哺狼 )。 // Set big icon SetIcon(m_hIcon, FALSE)。 0xFFF0) == IDM_ABOUTBOX)。 for(int i=1。 BOOL CTcpseverApp::InitInstance() { if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED)。 void setp(CTcpseverDlg * severdlg,int num){ mynum=num。這 也證實(shí)了 ,只有有了壓力才會拼命的去學(xué) ,只要不斷的努力,收獲總是有的 。可以在 某片區(qū)域擺放兩個(gè)控件,靜態(tài)文本和編輯框。 在 開發(fā) 的過程中 原想 進(jìn)行更多研究,比如圖片發(fā)送、抖動窗口、語音視頻發(fā)送、以及文件傳送等等??蛻舳擞煤瘮?shù) Connect()請求連接,當(dāng)連接成功后框架自動調(diào)用函數(shù) OnAceept()。 之后 學(xué)習(xí)了 CSocket 類及其實(shí)現(xiàn)過程,發(fā)現(xiàn)這是一種非阻塞的網(wǎng)絡(luò)編程,實(shí)現(xiàn)很簡單,可以不用開辟線程處理監(jiān)聽等事件。接著問題又出現(xiàn) 了,雖然成功的接受和發(fā)送了消息,但是消息最后會出現(xiàn)亂碼。 最 初 用 SOCKET 實(shí)現(xiàn)的時(shí)候, 設(shè)置 連接成功,但是整個(gè)服務(wù)器等待監(jiān)聽以后便處于一種死鎖狀態(tài)。 } else 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 { GetDlgItem(IDC_CLEAN)EnableWindow(true)。 csrev[csnum].setp(this,csnum)。 }。 }。見下圖: 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 圖 11 提示斷開連接 在 CSocket 中前面也提到過,當(dāng)某個(gè)套接字獲取到消息與其連接的套接字?jǐn)嚅_連接后。并把記錄下的數(shù)據(jù)填入 rectLarge 中 。 SetWindowPos(NULL,0,0,(),(),SWP_NOMOVE|SWP_NOZORDER )。 GetDlgItem(IDC_SEPARATE)GetWindowRect(amp。當(dāng)點(diǎn)擊后,側(cè)邊欄又顯示出 ” ” 符號。 wndShowWindow(SW_SHOW)。然后隱藏編輯框,顯示靜態(tài)文本。在設(shè)計(jì)的過程中對話框的初始化函數(shù)中對兩個(gè)控件做了設(shè)置。 CString str。 CBitmap bitmap。最后再把信息反饋到屏幕上打印出來。 wnd=GetDlgItem(IDC_SERVINFORM)。 } else{ MessageBox(綁定監(jiān)聽端口失敗 ,請確認(rèn)該端口沒有被其它程序占用 )。 CWnd *cw=GetDlgItem(IDC_EDIT3)。 ()。函數(shù)先把以前聊天區(qū)的內(nèi)容存儲下來,再把其要發(fā)送的內(nèi)和以前的內(nèi)容都打印到屏幕上。 int len=()。當(dāng)點(diǎn)擊清空后會清空聊天區(qū)的信息記錄。 這些代碼首先對窗口進(jìn)行了一些文本設(shè)置和某些窗口的隱藏。 (IDB_BITMAP1)。 wnd=GetDlgItem(IDC_MARKST)。 函數(shù) setp()起到了一個(gè)指針保護(hù)作用。 CEdit *ce=((CEdit*)GetDlgItem(IDC_EDIT1))。 csrev[mynum].Receive(ss,100)。現(xiàn)在來 分析 onrev()在類 CTcpseverDlg 中的定義。 OnReceive()函數(shù)在 MSDN中的聲明是這樣的: virtual void OnReceive( int nErrorCode )。 }。如果沒有勾選也沒關(guān)系,只要在編程過程中正確加入相應(yīng)內(nèi)容即可!正確的向?qū)гO(shè)置會給你省去很多工作 [13]! 在開 始程序之前先得創(chuàng)建一個(gè)派生于 CAsyncSocket 的類,當(dāng)然也可以直接派生于CSocket。 界面設(shè)計(jì) 圖 5 界面 資源圖 在設(shè)計(jì)的過程中,當(dāng)掌握了核心思想內(nèi)容,成功完成功能實(shí)現(xiàn)后,界面設(shè)計(jì)永遠(yuǎn)是重要的部分。進(jìn)入聊天室后用戶之間可以進(jìn)行簡單的文字聊天。具體函數(shù)見下: ( 1) OnAccept(): 監(jiān)聽套接字在端口聽到連接請求時(shí) 應(yīng)用程序框架自動調(diào)用,以告知可以接受請求或拒絕連接。 ( 3) Listen(): 監(jiān)聽套接字專用,用于向監(jiān)聽套接字發(fā)送對端口監(jiān)聽的命令。 系統(tǒng)實(shí)現(xiàn)原理 聊天系統(tǒng)的設(shè)計(jì)跟普通網(wǎng)站設(shè)計(jì)有著許多不同的地方,普通網(wǎng)站設(shè)計(jì)所考慮的因素,例如,普通網(wǎng)站需要對布局進(jìn)入大量美化以及動畫設(shè)計(jì)等等,而聊天室只要提供滿足訪客雙方直接實(shí)時(shí)聊天即可。 4) 返回第二步 ,等待客戶請求 。 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 7 4 局域網(wǎng)聊天室的設(shè)計(jì) 客戶機(jī) /服務(wù)器模式 通信的兩個(gè)應(yīng)用程序間相互作用的主要模式是客戶機(jī) /服務(wù)器模式 ,即客戶向服務(wù)器發(fā)出服務(wù)請求 ,服務(wù)器接收到請求后 ,提供相應(yīng)的服務(wù)。利用 Socket 進(jìn)行通訊 ,有兩種主要的方式。換句話說 ,網(wǎng)絡(luò)互連是兩個(gè)計(jì)算機(jī)或處理器通過網(wǎng)絡(luò)相互傳輸數(shù)據(jù)。在這個(gè)項(xiàng)目中 研究人員為 TCP/IP網(wǎng)絡(luò)通信開發(fā)了一個(gè) API(應(yīng)用程序接口)。使用 ,可以完成創(chuàng)建、調(diào)試、修改應(yīng)用程序等的各種操作。并且在兩個(gè)客戶端之間不能建立直連的情況下,才由服務(wù)器進(jìn)行中轉(zhuǎn)通信。 第四章討論了整個(gè)聊天系統(tǒng)的設(shè)計(jì),介紹了客戶端 /服務(wù)器模型,并討論了系統(tǒng)的實(shí)現(xiàn)原理和界面設(shè)計(jì)。登錄后,客戶端各用戶可以發(fā)送文字信息,相互聊天。它的實(shí)現(xiàn)無需對企業(yè)原有的局域網(wǎng)硬件進(jìn)行任何改動,具有實(shí)現(xiàn)成本低廉的優(yōu)點(diǎn),它的使用能有效地降低局域網(wǎng)通信負(fù)荷,提高局域網(wǎng)的使用效率,可以很好地解決企業(yè)內(nèi)部局域網(wǎng)的各種通信需求。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)得以簡化信息流程,提高信息交換的速度,從而提高工作效率。 關(guān)鍵詞: VC++;套接字;傳輸控制協(xié)議;網(wǎng)絡(luò) ;聊天室 武漢理工大學(xué)畢業(yè)設(shè)計(jì)(論文) II Abstract Along with the highspeed development of the puter science and Inter, chatting on line has been an important method in our munication. Comparing with Email and telephone, the chatline service is more realtime and effective. The subject under discussion adopts the method of the software project ,use procedure designing technique and the work technology. The project use Visual C++ as the development tools,mainly studies under the TCP/IP protocol of LAN chat rooms. This local area work chat tool adopts client/server mechanism(C/S) and is posed of two ponents:the server and the client. The server model is mainly used to prootect all users ’ information ,incuuding user’s name and so on。 此局域網(wǎng)聊天 室 采用客戶端 /服務(wù)器( C/S)模式和 TCP 連接。 整個(gè)工程采用結(jié)構(gòu)化的方式進(jìn)行編譯,逐步完善系統(tǒng)功能。 本系統(tǒng)建立在 VC 平臺上,系統(tǒng)的設(shè)計(jì)使用了面向?qū)ο蠹夹g(shù)和面向?qū)ο蟮脑O(shè)計(jì)原則。 隨著 用戶 對軟件功能的 需求 不斷提高 ,即時(shí)通訊的產(chǎn)品也不斷 地更新?lián)Q代 。 基于 Socket 的局域網(wǎng)通信軟件應(yīng)用范圍廣闊,不但可以處理傳統(tǒng)的通信需求,而且也能擴(kuò)展以適應(yīng)新型的網(wǎng)絡(luò)應(yīng)用,如網(wǎng)絡(luò)教育,數(shù)據(jù)影音傳輸?shù)?,擁有廣泛的應(yīng)用前景 。 研究本課題需要熟練掌握 VC++語言,并且熟悉 VC 平臺 的操作 , 利用 socket 編 程技術(shù) 、 TCP 協(xié)議 進(jìn)行局域網(wǎng)聊天軟件的實(shí)際開發(fā)。本人取最具代表性的 和 MSN 進(jìn)行了一些研究,作為開發(fā)聊天系統(tǒng)的準(zhǔn)備。而 MSN Messenger 所有數(shù)據(jù)都要經(jīng)過服務(wù)器,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1