




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗報告課程 計算機網(wǎng)絡 實驗名稱 簡單聊天程序的設計與實現(xiàn) 第 1 頁一、實驗目的1.熟悉VisualC+的基本操作;掌握最基本的Client/Server(客戶機/服務器)模式的網(wǎng)絡編程技術,并在此基礎上實現(xiàn)更為復雜的網(wǎng)絡編程。2.基本了解基于對話框的windows應用程序的編寫過程。3.對于Windows Socket編程建立初步概念。二、實驗內容1、按實驗步驟中參考程序使用VC+設計出程序;2、在第1步的基礎上使用VC+或其他工具設計出一個能實現(xiàn)兩個人聊天的網(wǎng)絡程序。三、實驗原理1.Windows Socket和套接字的基本概念;程序分為服務端和客戶端兩個,其主要工作過程如圖1所示:服
2、務器端:服務器程序首選啟動,通過調用socket()函數(shù)建立一個套接字,然后調用bind()函數(shù)使套接字和本地網(wǎng)絡地址聯(lián)系在一起,再調用listen()使套接字做好偵聽的準備,并規(guī)定它的請示隊列的長度,之后就調用accept()來接收連接??蛻魴C端:客戶機程序也使用socket()建立套接字,然后調用connect()函數(shù)和服務器建立連接。連接一旦建立,客戶機和服務器之間就可以通過調用read()和write()來發(fā)送和接收數(shù)據(jù)。最后,等數(shù)據(jù)傳送結束后,雙方調用close()關閉套接字。四、實驗環(huán)境和實驗工具 實驗環(huán)境:Windows 平臺、實驗工具:VC+五、實驗步驟 服務器端程序 運行VC
3、+,選擇File -New,彈出如圖2所示的窗口。創(chuàng)建一個名為CS的工程:選中Projects中的MFC AppWizardexe,在Project name中輸入Server,在Location中選擇存儲的目錄,如本例中為D:VC temp.接著點擊OK。在彈出的窗口中選擇Dialog based,然后點擊“Next”。出現(xiàn)圖3所示的窗口,選擇Windows Sockets,并輸入服務器,點擊“Next”.如果忘了添加Windows Sockets選項,可以在文件頭部添加下列語句進行補救:include Winsock.hinclude Ws2tcpip.hpragma comment(li
4、b,Ws2_32.lib )注:這些語句支持 winsock2。其余窗口一直默認,點擊“Next”直至“Finish”圖2圖3對話框標題“服務器”布置界面并修改名稱變量設置如下: 然后,在BOOL CCSDlg:onInitDialog()末尾加如下語句:為了在程序中更自由地處理CSocket得到的消息,應該新建立一個CSocket的派生類:在CS工程的工作區(qū)類視圖中,添加由CSocket派生的新類CServer,并做好相應的設置。在CSDlg.h里添加:頭文件: #include “Server.h”添加protected變量如下:在對話框的圖像上雙擊“偵聽”按鈕,添加如下代碼:在對話框圖像
5、上雙擊“發(fā)送”按鈕,添加如下代碼:接下來要為CServer類添加OnAccept和OnReceive函數(shù),具體操作過程簡單,這里不再指出詳細步驟。 并對OnAccept函數(shù)添加如下代碼:該步完成后,為CCSDlg類添加public成員函數(shù)ShowAccept(),并完成該函數(shù)的功能,其代碼如下:對OnReceive函數(shù)添加如下代碼:該步完成后,為CCSDlg類添加public成員函數(shù)ShowMsg(),并完成該函數(shù)的功能,其代碼如下:整理并調試服務器端的程序??蛻舳顺绦蛲瑯臃绞絼?chuàng)建一個名為CC(Projects),也一樣是基于對話框,選中Windows Sockets,其余為默認狀態(tài)。布置界面
6、并修改名稱。變量設置如下:然后,在BOOL CCCDlg:onInitDialog()末尾加如下語句:同樣為了在程序中更自由地處理CSocket得到的消息,應該新建立一個CSocket的派生類:在CS工程的工作區(qū)類視圖中,添加由CSocket派生的新類CClient,并做好相應的設置。 在CCDlg.h里添加:頭文件: #include “Client.h”添加protected變量如下:在對話框的圖像上雙擊“連接”按鈕,添加如下代碼: 在對話框的圖像上雙擊“發(fā)送”按鈕,添加如下代碼:接下來要為CClient類添加OnReceive函數(shù),具體操作過程簡單,這里不再指出詳細步驟。對OnReceive函數(shù)添加如下代碼:該步完成后,為CCCDlg類添加public成員函數(shù)ShowMsg(),并完成該函數(shù)的功能,其代碼如下:整理并調試客戶端的程序。運行程序運行如下:注:同學們可以在不同的機子上測試實驗總結:通過實驗加深對VC+6.0的了解和掌握,對該程序有了更深刻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學語文一年級考試體系試題及答案
- 寵物主人常見的營養(yǎng)誤區(qū)及試題及答案
- 計算機基礎考試重難點分析試題及答案
- 2024年食品質檢員心理素質要求試題及答案
- 美容師考試題目設計與解讀技巧試題及答案
- 食品流通過程中的證據(jù)采集考查試題及答案
- 重大動物防控知識課件
- 實戰(zhàn)經(jīng)驗的小學語文試題及答案
- 二手車評估師基礎知識考試試題及答案
- 二手車評估師應試能力提升試題及答案
- 電網(wǎng)工程設備材料信息參考價(2024年第四季度)
- 非暴力溝通 情緒篇
- 氫氧化鈣化學品安全技術說明書
- 人民醫(yī)院整形外科臨床技術操作規(guī)范2023版
- 2023-爾雅《星海求知:天文學的奧秘》課后章節(jié)答案
- LY/T 1955-2022林地保護利用規(guī)劃林地落界技術規(guī)程
- 專練11(30題)(網(wǎng)格作圖題)2022中考數(shù)學考點500題(吉林)解析版
- GB/T 1936.1-2009木材抗彎強度試驗方法
- 馬克思主義唯物史觀課件
- 工商企業(yè)管理專業(yè)案例分析報告
- DB15T 2403-2021肉羊育種數(shù)據(jù)管理規(guī)范
評論
0/150
提交評論