【正文】
R_PORT)。 = i_addr()。 //初始化套接字 m_sockLocal = socket(AF_INET, SOCK_DGRAM, 0)。下面是在程序設(shè)計中建立套接字、綁定的具體實現(xiàn): // socket 函數(shù)建立套接字 WSAStartup(MAKEWORD(2, 0), amp。然后根據(jù)需要對各個控件的屬性等進行設(shè)定,下圖是根據(jù)客戶端功能需求所設(shè)計的客戶端界面: 圖 32 客戶端界面設(shè)計 當(dāng)有客戶端連入后,客戶端的 IP 會自動的顯示在 “在線主機列表 ”下的 ListBox中 , 其 下 面的刪除按鈕可以將 ListBox中所選的 IP 刪除; 所有客戶端 發(fā)來的消息和服務(wù)器自己所發(fā)的消息 都在接收窗口中顯示,并可通過清除內(nèi)容按鈕清除內(nèi)容 ; 服務(wù)器端也可以向所有客戶端發(fā)送系統(tǒng)消息,該功能通過發(fā)送窗口和右邊的發(fā)送、清除按鈕實現(xiàn)。 開始初始化W i n S o ck 環(huán)境等待接收信息遍歷鏈表向鏈表中所有的用戶轉(zhuǎn)發(fā)信息接收信息是否為連接信息在接收窗口顯示信息在鏈表和L i st B o x中添加對應(yīng)I Pc o n n e c tc o n n e c t在鏈表和L i st B o x中刪除對應(yīng)I Pd i s c o n n e c td i s c o n n e c t 圖 31 服務(wù)器端程序設(shè)計 服務(wù)器端界面設(shè)計 使用 MFC 可以很方便的建立對話框,在打開 Microsoft Visual C++ 后建立一個 MFC AppWizard[exe]工程,然后在選擇類型對話框中選擇 Dialog Based,在選擇包含部分時選擇Windows Sockets,然后點擊完成,于是便有了一個基本的對話框。如果客戶端發(fā)起請求連接的 connect請求,便將該客戶端的 IP 加如鏈表,并在 ListBox中顯示出來;如果收到的是已經(jīng) 建立好連接的客戶端發(fā)來的消息信息,則遍歷鏈表,將收到的消息向鏈表中所保存的所有的客戶端發(fā)送并在服務(wù)器端的接收窗口顯示該消息;如果收到客戶端發(fā)送來的斷開連接請求,則在 ListBox和鏈表中刪除該客戶端的 IP。 重慶科技學(xué)院《 Windows 程序設(shè)計 》課程設(shè)計報告 6 3 設(shè)計過程 及 程序代碼 服務(wù)器端設(shè)計 服務(wù)器端程序 流程設(shè)計 下圖是服務(wù)器端的程序流程設(shè)計圖,當(dāng)程序開始運行時,便初始 WinSock環(huán)境。 該程序設(shè)計使用 Windows Sockets編程。Windows環(huán)境與 Microsoft Visual C++ 編譯環(huán)境; 原理與說明 在計算機網(wǎng)絡(luò)中,信息的傳輸是建立在 物理傳輸介質(zhì)與網(wǎng)絡(luò)傳輸協(xié)議上的, TCP/IP協(xié)議是網(wǎng)絡(luò)協(xié)議的一種,它分為不同的層次: TCP(Transmission Control Protocol——傳輸控制協(xié)議 ), UDP(User Datagram Protocol——用戶數(shù)據(jù)報協(xié)議 ); IP(Inter Protocol——網(wǎng)際協(xié)議 );它們分別工作于傳輸層與網(wǎng)絡(luò)層。PC 機兩到三臺 (程序試運行時需要多臺電腦充當(dāng)客戶端 ); 在連接好之后用戶也可以選擇與服務(wù)器斷開。當(dāng)按下 “發(fā)送 ”按鈕時將信息發(fā)送給服務(wù)器。 接受用戶傳送來的聊天信息,然后向鏈表中的所用用戶轉(zhuǎn)發(fā)。顯示所有在線 IP。 接受用戶傳送來的連接判斷命令,并向用戶發(fā)出響應(yīng)命令。其具體的設(shè)計要求如下所述: 服務(wù)器端 : 在服務(wù)器端 , 當(dāng)服務(wù)器端程序運行時便初始化 socket, 創(chuàng)建服務(wù)器端 ,在服務(wù)器端包含一個發(fā)送窗口和一個接收窗口,以及 一個 ListBox 來顯示當(dāng)前連接到服務(wù)器上的客戶端的IP 地址 ??梢灾苯邮褂?Windows API編程( SDK 編程),也可以使用 MFC 編程??蛻舳四軐崿F(xiàn)消息的輸入和發(fā)送、接收消息、連接服務(wù)器與斷開連接等基本功能;服務(wù)器端要求能 收發(fā)信息、保存客戶端的 IP 信息地址、將接收到的消息向所有客戶端轉(zhuǎn)發(fā)等基本信息。 關(guān)鍵 字: WinSock編程, UDP 協(xié)議, TCP/IP 協(xié)議 , MFC編程 , Windows程序重慶科技學(xué)院《 Windows 程序設(shè)計 》課程設(shè)計報告 2 目錄 1 設(shè)計目的與要求 ........................................................................................................................................................... 1 設(shè)計目的 ........................................................................................................................................................................ 1 設(shè)計內(nèi)容 ........................................................................................................................................................................ 1 設(shè)計要求 ........................................................................................................................................................................ 1 2 設(shè)計環(huán)境或器材、原理與