基于ipv6的網(wǎng)絡(luò)編程

基于ipv6的網(wǎng)絡(luò)編程

ID:3665631

大?。?40.50 KB

頁數(shù):15頁

時間:2017-11-22

基于ipv6的網(wǎng)絡(luò)編程_第1頁
基于ipv6的網(wǎng)絡(luò)編程_第2頁
基于ipv6的網(wǎng)絡(luò)編程_第3頁
基于ipv6的網(wǎng)絡(luò)編程_第4頁
基于ipv6的網(wǎng)絡(luò)編程_第5頁
資源描述:

《基于ipv6的網(wǎng)絡(luò)編程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、課程設(shè)計報告課程:基于IPv6的網(wǎng)絡(luò)編程學(xué)號:20082212285姓名:付希善班級:網(wǎng)絡(luò)0802教師:李阿麗魯東大學(xué)信息科學(xué)與工程學(xué)院15設(shè)計名稱與內(nèi)容一、Winsock編程技術(shù)WindowsSockets是Windows下網(wǎng)絡(luò)編程的規(guī)范,是Windows下得到廣泛應(yīng)用的、開放的、支持多種協(xié)議的網(wǎng)絡(luò)編程接口。經(jīng)過不斷完善它已成為Windows網(wǎng)絡(luò)編程的事實上的標(biāo)準(zhǔn)。Winsock是windows應(yīng)用程序與下層網(wǎng)絡(luò)協(xié)議之間的交互接口,通過socket,可以很容易的實現(xiàn)應(yīng)用程序的網(wǎng)絡(luò)連接。Winsock也是Wind

2、ows進行網(wǎng)絡(luò)通信編程的API接口。在網(wǎng)絡(luò)編程中最常用的方案是客戶/服務(wù)器模式,首先由服務(wù)器在指定的端口開通指定的服務(wù),然后在客戶機上通過指定服務(wù)器地址、服務(wù)端口來連接服務(wù)器以獲取指定的服務(wù)。二、聊天程序的功能及其相關(guān)網(wǎng)絡(luò)協(xié)議使用可靠的TCP來實現(xiàn)端到端的連接,使用到的協(xié)議是TCP協(xié)議。采用的體系結(jié)構(gòu)風(fēng)格是服務(wù)器/客戶端風(fēng)格(C/S)。服務(wù)器端建立socket連接,然后監(jiān)聽端口,等待客戶端的連接。在客戶端連接之前,消息編輯窗口都設(shè)置為不可編輯狀態(tài)。當(dāng)有客戶端連接后,消息編輯窗口才設(shè)置為可編輯狀態(tài)。本程序的功能就是

3、實現(xiàn)簡單的基于TCP協(xié)議的聊天,即簡單的消息發(fā)送。三、聊天程序流程圖和設(shè)計方案1)聊天程序流程圖15服務(wù)器端socket函數(shù)建立套接字bind函數(shù)給套接字指定本地地址listen函數(shù)進行監(jiān)聽accept函數(shù)建立連接建立連接,從accept返回用于通信的新套接字建立連接send函數(shù)和recv函數(shù)收發(fā)數(shù)據(jù)Closesocket函數(shù)關(guān)閉套接字connect函數(shù)與服務(wù)器建立連接send函數(shù)和recv函數(shù)收發(fā)數(shù)據(jù)Closesocket函數(shù)關(guān)閉套接字客戶端socket函數(shù)建立套接字2)設(shè)計方案服務(wù)器端的設(shè)計:服務(wù)器端的界面由

4、一個主窗口加三個控件組成,其中有兩個edit控件和一個button控件。程序設(shè)計窗口截圖如下:指定好服務(wù)端口號,本程序指定為1111。然后建立窗口函數(shù)所關(guān)心的SOCKET通信消息,為程序為FD_ACCEPT和FD_READ。在服務(wù)器端建立本地socket,用bind函數(shù)綁定本地套接字地址,最大連接數(shù)設(shè)置為5。完成之后進行監(jiān)聽,看是否有客戶端請求連接,若有則接受連接。建立連接之后用,如果要發(fā)送數(shù)據(jù),則在下面的sendEdit里面輸入想要發(fā)送的內(nèi)容,然后點擊“發(fā)送”按鈕。”發(fā)送”15按鈕發(fā)送出一個WM_COMMAND

5、消息,窗口函數(shù)接收WM_COMMAND消息,將接收到的消息用send函數(shù)發(fā)送出去。當(dāng)客戶端有消息發(fā)送過來的時候,同樣的要捕獲消息,用recv函數(shù)進行接收數(shù)據(jù)。通信結(jié)束之后釋分配給套接字的資源??蛻舳说脑O(shè)計:客戶端的界面設(shè)計和服務(wù)器端的基本一致,是窗口標(biāo)題不同。程序設(shè)計窗口截圖如下:指定好待連接的服務(wù)器的IP地址和服務(wù)器端口號,很顯然地端口和服務(wù)器設(shè)置的一樣,為1111。然后建立窗口函數(shù)所關(guān)心的SOCKET通信消息,這里需要設(shè)置FD_ACCEPT和FD_CONNECT。根據(jù)連接服務(wù)器的套接字,使用connect函數(shù)

6、建立連接。當(dāng)要發(fā)送消息的時候則在下面的sendEdit里面輸入想要發(fā)送的內(nèi)容,然后點擊“發(fā)送”按鈕?!卑l(fā)送”按鈕發(fā)送出一個WM_COMMAND消息,窗口函數(shù)接收WM_COMMAND消息,將接收到的消息用send函數(shù)發(fā)送出去。當(dāng)客戶端有消息發(fā)送過來的時候,同樣的要捕獲消息,用recv函數(shù)進行接收數(shù)據(jù)。通信結(jié)束之后釋分配給套接字的資源。四、選擇開發(fā)環(huán)境開發(fā)環(huán)境:VisualC++6.0設(shè)計過程(步驟)或程序代碼源程序:1)服務(wù)器端.#include#include#defi

7、neID_RECEIVEEDIT1#defineID_SENDEDIT2#defineID_PUSHME3#defineSERVER_PORT1111#defineWM_SOCKET(WM_USER+1)LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpcmdLine,intnCmdShow){15staticTCHARszAppName

8、[]=TEXT("ChatServer");staticTCHARszClassName[]=TEXT("ChatServerClass");HWNDhwnd;MSGmsg;WNDCLASSwndclass;wndclass.style=CS_HREDRAW

9、CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExt

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。