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

正文內(nèi)容

基于mfc的簡易聊天室-預(yù)覽頁

2024-12-14 15:14 上一頁面

下一頁面
 

【正文】 所有用戶的 IP 地址、端口信息。當(dāng)按下“發(fā)送”按鈕時將信息發(fā)送給服務(wù)器。就可以與同一服務(wù)器上的用戶交談,這是一個面向連接的通信過程。然后登客戶端的用戶就可以在服務(wù)器上聊天了。它不僅包含了人們所熟悉的 Berkeley Socket風(fēng)格的庫函數(shù);也包含了一組針對 Windows 的擴展庫函數(shù),以使程序員能充分地利用Windows 消息驅(qū)動機制進行編程。 遵守這套 Windows Sockets 規(guī)范的網(wǎng)絡(luò)軟件,我們稱之為 Windows Sockets 兼容的,而 Windows Sockets 兼容實現(xiàn)的提供者,我們稱之為 Windows Sockets 提供者。 Windows Sockets 規(guī)范定義并記錄了如何使用 API 與 Inter 協(xié)議族( IPS,通常我們指的是 TCP/IP)連 接,尤其要指出的是所有的 Windows Sockets 實現(xiàn)都支持流套接口和數(shù)據(jù)報套接口。 MFC 簡介 MFC(Microsoft Foundation Classes),是一個微軟公司提供的類庫( class libraries),以C++類的形式封裝了 Windows 的 API,并且包含一個 應(yīng)用程序 框架,以減少應(yīng)用程序開發(fā)人員的工作量。 Cdialog 類 CDialog 類是在屏幕上顯示的對話框基類。 一個 CDialog 對象是對話框模板與一個 CDialog 派生類的組合。 ClassWizard觀察對話框每個控件可能產(chǎn)生的消息,可以選擇你所希望處理的消息。 對于大多數(shù)普通對話框,可以向?qū)υ捒蚺缮愔刑砑映蓡T變量以存儲數(shù)據(jù)。 ClassWizard 將成員變量加入對話框派生類中 [3]。 要建立模態(tài)對話框,先使用構(gòu)造程序為對話框派生類構(gòu)造一個對象。當(dāng)構(gòu)造了一個 CDialog 對象之后,調(diào)用 CreateIndirect 創(chuàng)建非模態(tài)對話框,或調(diào)用 InitModalIndirect 和 DoModal 來創(chuàng)建模態(tài)對話框。當(dāng)用戶單擊 OK 按鈕關(guān)閉模態(tài)對話框時, 框架調(diào)用 UpdateData(如果單擊了 Cancel 按鈕,將不能獲得數(shù)據(jù))。 在模態(tài)對話框與非模態(tài)對話框執(zhí)行的任意時刻都可以調(diào) CWnd::UpdateData。 CAsyncsocket 類和 CSocket 類 Cssyncsocket 類一個異步非阻塞 Socket 類封裝類 , CasyncSocket::Create()有一個參數(shù)指明了你想要處理那些 Socket 事件 , 你關(guān)心的事件被指定以后 , 這個 Socket 默認(rèn)就被用做了異步方式 .的函數(shù) ,除了一個以外 , 在創(chuàng)建了一個 CSocketWnd 窗口對象 ,使 WSAAsyncSlecet()將這個 SOCKET 與該窗口對象關(guān)聯(lián) ,以讓該窗口對象處理來自 Socket 的事件 (消息 ), 然而CSocketWnd 收到 Socket 事件之, 只是簡單地回 CasyncSocket::OnReceive()等虛函數(shù) 。 套接字的創(chuàng)建遵循兩階段構(gòu)造的 MFC 模式。 int nPort = 27。任一個 Create 版本都可以和任一種構(gòu)造方法一起使用。 ○ 2 套接字類型: SOCK_STREAM(默認(rèn)值)或 SOCK_DGRAM。 如果套接字是客戶端,則使用 CAsyncSocket::Connect 將此套接字對象連接到服務(wù)器套接字。 注意 Accept 成員函數(shù)采用對新的 空 CSocket 對象的引用作為它的參數(shù)。 有關(guān)示例,請參見文章 Windows Sockets: 操作順序。 析構(gòu)函數(shù)在銷毀對象之前調(diào)用對象的 Close 成員函數(shù)。 第 6 頁 例如:“阻塞”方案;發(fā)送和接收計算機之間的字節(jié)順序差異;在 Unicode 和多字節(jié)字符 集(MBCS)字符串之間轉(zhuǎn)換。為了給程序員提供更方便的接口以自動處理這些任務(wù), MFC 給出 了 CSocket 類,這個 類是由CAsyncSocket 類繼承下來的,它提供了比 CAsyncSocket 更高層的 WinSock API 接口。 使用 CSocket 對象涉及 CArchive 和 CSocketFile 類對象。在客戶方程序中,除非需要數(shù)據(jù)報套接字, Create() 函數(shù)一般情況下應(yīng)該使用默認(rèn)參數(shù)。請注意 Accept() 成員函數(shù)需要一個新的并且為空的 CSocket 對象作為它的參數(shù),解釋同上。 ( 6) 使用 CArchive 對象的 Read( )和 Write() 等函數(shù)在客戶與服務(wù)方傳送數(shù)據(jù)。這樣就形成了一個采用 Client/Server 結(jié)構(gòu)的并可以多人同時在線的聊天室。 ( 3)服務(wù)器 IP 編輯框控件 IDC_EDIT1 對應(yīng)的成員變量為 OnChangeEdit1。 我的 ID 編輯框控件 IDC_EDIT5 對應(yīng)的成員變量為 OnChangeEdit5。 int port。 ()。amp。 CWnd *cw=GetDlgItem(IDC_EDIT1)。 第 9 頁 cw=GetDlgItem(IDC_con)。 SetDlgItemText(IDC_EDIT3,已設(shè)名字 +clientname+\r\n 連接服務(wù)器成功 )。 } else{ ()。 ②利用 GetDlgItemText 將各個編輯框中的信息賦給相應(yīng)的變量。 ( 5)接下來就是對話框中的發(fā)送(回車)按鈕的函數(shù),代碼設(shè)置如下: void CTcpclientDlg::Onsend() { CString str。 if((str,len)1)SetDlgItemText(IDC_EDIT4,)。 for(int j=0。 (ss,256)。 SetDlgItemText(IDC_EDIT3,str)。 ②接受來自服務(wù)器套接字的信息數(shù)據(jù)保存到 ss 中,調(diào)整格式后將其打印到消息區(qū)。 cw=GetDlgItem(IDC_EDIT2)。 cw=GetDlgItem(IDC_EDIT5)。 if(confirm==IDYES){ CString enterinfo=clientname+退出了聊天室 。 } } 設(shè)計步驟: ①當(dāng)退出程序時,彈出確認(rèn)對話框。其他默認(rèn)下一步。 消息編輯區(qū)編輯框控件 IDC_EDIT2 對應(yīng)的成員變量為 OnChangeEdit2。代碼設(shè)置如下: void CTcpseverDlg::Onlisten() 第 13 頁 { // Beep(2020,100)。 severname=ipstr。 port=atoi(portstr)。 ()。 cwEnableWindow(false)。 cwEnableWindow(false)。 ()。 ③監(jiān)視端口號和 IP 格式并設(shè)置相應(yīng)錯誤提示(如圖 8)。 GetDlgItemText(IDC_EDIT2,str)。 for(int i=1。 CEdit *ce=((CEdit*)GetDlgItem(IDC_EDIT1))。int i。j++) ss[j]=39。 for(i=1。 str=str1+\r\n+str。 } 設(shè)計步驟: ①創(chuàng)建字符串 str、 str1,字符數(shù)組 ss。 GetDlgItemText(IDC_EDIT1,str1)。 (csrev[++csnum])。 if(confirm==IDYES){ int len=()。 str=severname+退出 ,與服務(wù)器連接已斷開 。i++) if(csrev[i]) csrev[i].Send(str,len)。 至此服務(wù)器端的核心部分介紹完畢。 在設(shè)計與實現(xiàn)這個程序的過程中,我更加理解了 MFC Windows 編程的實現(xiàn)機制,鍛煉了我的思維和解決問題的能力。 6 致謝 通過兩周的 Windos 課程設(shè)計學(xué)習(xí),使我對 Windows 程序設(shè)計有了進一步的了解和認(rèn)識,動手能力得到大大的加強。Information Engineering College ,Anyang NormalUniversity,Anyang,Henan 455002) Abstract: The work chatroom, its essence is a kind of work chat software based on Inter. More than of one that it can be while carrying on really under environment of the work or to a lot of anonymous talk more. Network manufacture method , chatroom of software have many, for example that language designed to there are a lot of with MFC and Java,etc., graduation project this to utilize various kinds of controlling parts , especially WinSock Control controlling parts that MFC offers mainly, because of C/S mode , design a work chatroom , realizes the function that chats when real on the work satisfactorily. Key words: WinSock ; C/S; Visual C++ ; Chatroom
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1