網(wǎng)絡(luò)安全課程設(shè)計(jì)報(bào)告_第1頁
網(wǎng)絡(luò)安全課程設(shè)計(jì)報(bào)告_第2頁
網(wǎng)絡(luò)安全課程設(shè)計(jì)報(bào)告_第3頁
網(wǎng)絡(luò)安全課程設(shè)計(jì)報(bào)告_第4頁
網(wǎng)絡(luò)安全課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、中原工學(xué)院計(jì)算機(jī)學(xué)院網(wǎng)絡(luò)安全程序課程設(shè)計(jì)報(bào)告題目:基于 des 加密的聊天程序班級(jí):網(wǎng)絡(luò) 124 班1目錄第 1 章 緒論 _31.1 des 加密背景 _31.2 聊天程序設(shè)計(jì)背景 _ 4第 2 章 加密原理 _52.1 des 簡介 _52.2 des 加密原理 _52.3 des 加密過程 _7第 3 章 聊天程序設(shè)計(jì) _83.1 TCP/IP 協(xié)議 _83.2客戶機(jī) / 服務(wù)器模式 _ 83.3 Socket _ 9第 4 章 系統(tǒng)設(shè)計(jì) _114.1開發(fā)語言及環(huán)境 _ 114.2需求分析 _ 114.2.1功能需求分析114.2.2數(shù)據(jù)需求分析114.2.3性能需求分析124.2.4運(yùn)

2、行需求分析124.3程序流程圖 _ 134.4模塊設(shè)計(jì) _ 144.4.1服務(wù)器144.4.2客戶端15第 5 章 程序測試 _175.1 運(yùn)行結(jié)果17第 6 章 總結(jié) _21參考文獻(xiàn) _212第1章緒論1.1 des加密背景隨著計(jì)算機(jī)和網(wǎng)絡(luò)在軍事、政治、金融、工業(yè)、商業(yè)等部門的廣泛應(yīng)用,社會(huì)對計(jì)算機(jī)和網(wǎng)絡(luò)的依賴越來越大,科學(xué)技術(shù)的研究和發(fā)展及其在商業(yè)領(lǐng)域的應(yīng)用等方面,無一不與信息息息相關(guān)。所以信息就是生命,信息就是時(shí)間,信息就是財(cái)富。由于信息是共享的,信息的擴(kuò)散會(huì)產(chǎn)生社會(huì)影響,所以保護(hù)信息的安全是信息時(shí)代的迫切需要。如果計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的信息安全受到破壞將導(dǎo)致社會(huì)的混亂并造成巨大損失。因此,

3、確保計(jì)算機(jī)和網(wǎng)絡(luò)系統(tǒng)的信息安全已成為世人關(guān)注的社會(huì)問題和計(jì)算機(jī)科學(xué)與技術(shù)領(lǐng)域的研究熱點(diǎn)。當(dāng)前,以Internet 為代表的計(jì)算機(jī)網(wǎng)絡(luò)的迅速發(fā)展和廣泛應(yīng)用,正引起社會(huì)和經(jīng)濟(jì)的深刻變革, 極大地改變著人們的生活和工作方式。Internet 已經(jīng)成為我們生活和工作中一個(gè)不可缺少的組成部分。對此,發(fā)展我國的電子政務(wù)、電子商務(wù)和電子金融已成為建設(shè)具有中國特色社會(huì)主義強(qiáng)國的不可回避的選擇。然而,目前影響電子政務(wù)、電子商務(wù)、電子金融應(yīng)用的主要技術(shù)障礙是信息安全問題。由于Internet 原來缺少安全設(shè)計(jì),再加上Internet 的開放性和無政府狀態(tài),使Internet 成為一個(gè)不安全的網(wǎng)絡(luò)。這就使得Inte

4、rnet 不能適應(yīng)電子政務(wù)、電子商務(wù)和電子金融等系統(tǒng)對信息安全的要求。確保信息的安全就必須加強(qiáng)加密技術(shù),加密技術(shù)是基于密碼學(xué)原理來實(shí)現(xiàn)計(jì)算機(jī)、網(wǎng)絡(luò)乃至一切信息系統(tǒng)安全的理論與技術(shù)基礎(chǔ)。1977 年美國頒布了數(shù)據(jù)加密標(biāo)準(zhǔn) DES(Data Encryption Stantard),這是密碼史上的一個(gè)創(chuàng)舉。 DES 算法最初由美國 IBM 公司設(shè)計(jì),經(jīng)美國國家安全局評(píng)測后,頒布為標(biāo)準(zhǔn)。 DES 開創(chuàng)了向世人公開加密算法的先例。自從公布以來,它一直超越國界,成為國際上商用保密通信和計(jì)算機(jī)通信的最常用的加密算法。 DES 也是曾被廣泛使用的分組密碼,遍及世界的政府,銀行和標(biāo)準(zhǔn)化組織把 DES 作為安全

5、和論證通信的基礎(chǔ)。 DES 算法公開是密碼學(xué)史上里程碑式的事件31.2聊天程序設(shè)計(jì)背景隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,互聯(lián)網(wǎng)應(yīng)用越來越豐富?;ヂ?lián)網(wǎng)以其獨(dú)特的傳播方式吸引了大量用戶,同時(shí)也給人們帶來了許多便利,譬如可以借助于網(wǎng)絡(luò)進(jìn)行相互交流、信息傳遞等。聊天工具作為互聯(lián)網(wǎng)中運(yùn)用最為廣泛的通信工具之一,它可以讓用戶之間進(jìn)行即時(shí)的交流和信息的傳遞。聊天工具的出現(xiàn)可以說是基于互聯(lián)網(wǎng)通信交流方式的歷史性變革,它已經(jīng)漸漸取代了原來效率低、費(fèi)用高的如信件、電報(bào)的通信方式,以其快速、交互、簡便的方式給用戶的交流提供了簡單、易用的信息平臺(tái),成為現(xiàn)今應(yīng)用最為廣泛的即時(shí)通信工具之一。隨著相關(guān)技術(shù)的日益發(fā)展,用戶對功能的需求不

6、斷提高。為了更好地服務(wù)于用戶,聊天工具的功能也在不斷地完善。在未來的網(wǎng)絡(luò)時(shí)代中,聊天工具將以即時(shí)通信為其基本特點(diǎn),并與各種網(wǎng)絡(luò)應(yīng)用整合,同時(shí)隨著無線網(wǎng)絡(luò)的廣泛應(yīng)用,它將成為未來不可缺少的一種通信軟件。本課程設(shè)計(jì)的目的主要是為了滿足人們通訊交流的便捷,實(shí)現(xiàn)靈活、全面的語音、視頻信息的傳遞和服務(wù)。模擬騰訊公司的 QQ 聊天軟件,開發(fā)一個(gè)多功能的聊天系統(tǒng)軟件,該課程設(shè)計(jì)主要實(shí)現(xiàn)文字聊天功能。4第2章加密原理2.1 des簡介DES 的設(shè)計(jì)目標(biāo)是,用于加密保護(hù)靜態(tài)存儲(chǔ)和傳輸信道中的數(shù)據(jù),安全使用 1015 年。DES 綜合運(yùn)用了置換、 代替、代數(shù)等多種密碼技術(shù)。 它設(shè)計(jì)精巧、 安全、方便,是近代密碼的

7、世界標(biāo)準(zhǔn),為確保數(shù)據(jù)安全作出了重大貢獻(xiàn)。DES 的設(shè)計(jì)充分體現(xiàn)了Shannon 信息保密理論所闡述的設(shè)計(jì)密碼的思想,標(biāo)志著密碼的設(shè)計(jì)與分析達(dá)到了新的水平。DES 是一種分組密碼。明文、密文和密鑰的分組長度都是64 位。DES 是面向二進(jìn)制的密碼算法, 因而能夠加解密任何形式的計(jì)算機(jī)數(shù)據(jù)。DES 是對合運(yùn)算,因而加密和解密共用同一算法,從而使工程實(shí)現(xiàn)的工作量減半。2.2 des加密原理DES 全稱為 Data Encryption Standard 即數(shù)據(jù)加密算法,它是 IBM公司研究成功并公開發(fā)表的。DES算法的入口參數(shù)有三個(gè):Key、 Data、 Mode。其中 Key 為 8 個(gè)字節(jié)共64

8、 位,是 DES算法的工作密鑰; Data 也為 8 個(gè)字節(jié) 64 位,是要被加密或被解密的數(shù)據(jù); Mode為 DES的工作方式,有兩種:加密或解密。數(shù)據(jù)加密標(biāo)準(zhǔn)( DES)的算法是用于計(jì)算機(jī)數(shù)據(jù)加密保護(hù)的分組加密的數(shù)學(xué)算法,算法以 64 bit 為一個(gè)分組對數(shù)據(jù)進(jìn)行加密。使用 64 bit的密鑰加密 64 bit 分組的信息。首先將原始數(shù)據(jù) 64 bit 明文進(jìn)行初始置換IP ,然后與子密鑰 ( 由加密密鑰產(chǎn)生 ) 進(jìn)行一系列迭代運(yùn)算,最后再經(jīng)過逆置換IP1 ,即可得到 64 bit 密文 ( 加密后數(shù)據(jù) ) 。在每一輪中,數(shù)列塊的右邊32 bit數(shù)據(jù)和密鑰 (Key) 一起傳送給函數(shù) f

9、,函數(shù) f 運(yùn)算的結(jié)果再與數(shù)列塊左邊32 bit數(shù)據(jù)進(jìn)行“異或”操作。其中S 盒(S 選擇函數(shù) ) 是 DES算法的心臟,由它實(shí)現(xiàn)非線性變換。解密過程與此類似, 只是在應(yīng)用子密鑰時(shí),順序顛倒為k16,k15, ,k2,k1 。5DES算法實(shí)現(xiàn)時(shí)用到許多的數(shù)學(xué)知識(shí),子密鑰的產(chǎn)生,初始值換IP ,加密函數(shù)以及逆初始值換IP 1 。DES 的整體結(jié)構(gòu)如圖2-1 所示:LiRi 1RiLi 1f (Ri 1 , K i )i=1,2,3, , 16圖 2-1 DES 的整體結(jié)構(gòu)62.3 des加密過程1)64 位密鑰經(jīng)子密鑰產(chǎn)生算法產(chǎn)生出 16 個(gè)子密鑰: K1 , K 2 , ,K 16 ,分別供第

10、一次,第二次, , ,第十六次加密迭代使用。(2)64 位明文首先經(jīng)過初始置換 IP( Initial Permutation),將數(shù)據(jù)打亂重新排列并分成左右兩半。左邊 32 位構(gòu)成 L0 ,右邊 32 位構(gòu)成 R0 。(3)由加密函數(shù) f 實(shí)現(xiàn)子密鑰 K 1 對 R0 的加密,結(jié)果為 32 位的數(shù)據(jù)組 f ( R0 , K 1 ) 。 f (R0 , K 1 ) 再 與 L0 模 2 相加 ,又 得到 一個(gè) 32 位 的數(shù) 據(jù)組 L0 f ( R0 , K 1 ) 。以 L0 f ( R0 , K1 ) 作為第二次加密迭代的 R1 ,以 R0 作為第二次加密迭代的 L1 。至此,第一次加密迭

11、代結(jié)束。(4)第二次加密迭代至第十六次加密迭代的分別用子密鑰 K 2 , K 3 , ,K 16 進(jìn)行,其過程與第一次加密迭代相同。(5)第十六次加密迭代結(jié)束后,產(chǎn)生一個(gè) 64 位的數(shù)據(jù)組。以其左邊 32 位作為 R16 ,以其右邊 32 位作為 L16 ,兩者合并再經(jīng)過逆初始置換 IP 1 ,將數(shù)據(jù)重新排列,便得到64 位密文。至此加密過程全部結(jié)束。綜上可將 DES 的加密過程用如下的數(shù)學(xué)公式描述:LiRi 1RiLi 1f (Ri 1 , K i )i1,2,3,167第 3 章 聊天程序設(shè)計(jì)3.1 TCP/IP協(xié)議TCP/IP 協(xié)議的核心部分是傳輸層協(xié)議(TCP、UDP),網(wǎng)絡(luò)層協(xié)議 (

12、IP) 和物理接口層,這三層通常是在操作系統(tǒng)內(nèi)核中設(shè)計(jì)。因此用戶一般不涉及。 TCP是面向連接的,通信雙方保持一條通路,好比目前的電話線,使用telnet登陸 BBS,用的就是 TCP協(xié)議;UDP是無連接的, 通信雙方都不保持對方的狀態(tài),瀏覽器訪問 Internet 時(shí)使用的 HTTP協(xié)議就是基于 UDP協(xié)議的。編程時(shí),編程界面有兩種形式:一、是由內(nèi)核心直接提供的系統(tǒng)調(diào)用;二、使用以庫函數(shù)方式提供的各種函數(shù)。前者為核內(nèi)設(shè)計(jì), 后者為核外設(shè)計(jì)。用戶服務(wù)要通過核外的應(yīng)用程序才能設(shè)計(jì),所以要使用套接字(socket)來設(shè)計(jì)。3.2客戶機(jī) / 服務(wù)器模式C/S 結(jié)構(gòu)(Client/Server結(jié)構(gòu))是

13、大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到 Client端和 Server 端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展, Web和 Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。首先服務(wù)器方要啟動(dòng),并根據(jù)請求提供相應(yīng)服務(wù):( 1)打開一通信通道并告知本地

14、主機(jī), 它在某一公認(rèn)地址端口上 ( 如 http為 80) 接受客戶請求。( 2)等待客戶請求到達(dá)該端口。( 3)接收到重復(fù)服務(wù)請求,處理該請求并發(fā)送應(yīng)答信號(hào)。接收并發(fā)服務(wù)請求,要激活一新進(jìn)程來處理這個(gè)客戶請求。新進(jìn)程處理此客戶請求,并不需要對其他請求做出應(yīng)答。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶的通信鏈路,8并終止。( 4)返回第二步,等待另外的客戶請求( 5)關(guān)閉服務(wù)器。客戶方:( 1)打開一通信通道,并連接到服務(wù)器所在主機(jī)的特定端口。( 2)向服務(wù)器發(fā)出服務(wù)請求報(bào)文,等待并接收應(yīng)答;繼續(xù)提出請求。( 3)請求結(jié)束后關(guān)閉通信通道并終止。從上面的描述過程可知:( 1)客戶與服務(wù)器進(jìn)程的作用是非對稱

15、的。因此編碼不同。( 2)服務(wù)進(jìn)程一般是先于客戶請求啟動(dòng)的。只要系統(tǒng)運(yùn)行,該進(jìn)程一直存在,直到正常終止或者強(qiáng)迫終止。 在 TCP/IP 網(wǎng)絡(luò)中兩個(gè)進(jìn)程間的相互作用的主機(jī)模式是客戶機(jī) / 服務(wù)器模式 (Client/Server model) 。該模式的建立基于以下兩點(diǎn): 1、非對等作用; 2、通信完全是異步的。3.3 Socketsocket 之間的連接可以分為三種類型:客戶端連接,監(jiān)聽連接以及服器端連接。客戶端連接是指由客戶端的 socket 提出連接請求,要連接的目標(biāo)是服務(wù)器端的 socket 。為此,客戶端的 socket 必須首先描述它要連接的服務(wù)器端 socket( 主要是指服務(wù)器

16、端 socket 的地址和端口號(hào) ) ,然后再定位所要連接的服務(wù)器端 socket ,找到以后,就向服務(wù)器端 socket 請求連接。當(dāng)然,服務(wù)器端的 socket 此時(shí)未必正好處于準(zhǔn)備好狀態(tài),不過,服務(wù)器端的 socket會(huì)自動(dòng)維護(hù)客戶請求連接的隊(duì)列,然后在它認(rèn)為合適的時(shí)候向客戶端socket發(fā)出 " 允許連接 " (accept) 的信號(hào),這時(shí)客戶端 socket 與服務(wù)器端 socket 的連接就建立了。監(jiān)聽連接,服務(wù)器端 socket 并不定位具體的客戶端 socket ,而是處于等待連接的狀態(tài)。當(dāng)服務(wù)器端 socket 監(jiān)聽到或者說 接收到客戶端 socket 的

17、連接請求,它就響應(yīng)客戶端 socket 的請求建立一個(gè)新的 socket 句柄并與客戶 端連接,而服務(wù)器端 socket 繼續(xù)處于監(jiān)聽狀態(tài),還可以接收其它客戶端 socket 的連接請求。9服務(wù)器端連接,是指當(dāng)服務(wù)器端socket 接收到客戶端 socket 的連接請求后,就把服務(wù)器端socket 的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立了。在本文中的聊天程序用的就是監(jiān)聽連接,即服務(wù)器設(shè)置連接個(gè)數(shù)后進(jìn)行監(jiān)聽, 客戶端進(jìn)行對服務(wù)器端的連接,這樣就可以進(jìn)行相互通信了。10第4章系統(tǒng)設(shè)計(jì)4.1開發(fā)語言及環(huán)境開發(fā)語言: c+開發(fā)環(huán)境: visual studio 20134.2需求分析4.

18、2.1功能需求分析( 1)用戶端之間的信息發(fā)送,本程序需要實(shí)現(xiàn)的最基本的功能。用戶在界面上可以將自己需要發(fā)送的信息填入相應(yīng)的對話框中,點(diǎn)擊發(fā)送按鈕后,可以將信息正常的發(fā)送給相應(yīng)的其它用戶,這個(gè)過程中的客戶端與客戶端之間使用點(diǎn)對點(diǎn)發(fā)送信息,利用TCP/IP 協(xié)議中的 UDP 協(xié)議。( 2)在線用戶主機(jī) IP 列表的維護(hù)。在用戶發(fā)送信息之前,需要選擇相應(yīng)的目的地端 IP,這也就需要客戶端擁有在線用戶主機(jī)的 IP 地址,這個(gè)在線主機(jī)列表的維護(hù)是需要客戶端定時(shí)自動(dòng)向服務(wù)器端發(fā)送信息,服務(wù)器端收集并維護(hù)在線用戶列表,再發(fā)送回客戶端。需要在客戶端和服務(wù)器端都使用定時(shí)器來完成此功能。(3)在 C/S 模式中

19、,服務(wù)器與客戶端是相互依賴的。在客戶端啟用以后,需要查看服務(wù)器端是否在線,服務(wù)器在線才能正常使用客戶端,如果服務(wù)器不在線,則在檢測一定次數(shù)以后自動(dòng)退出客戶端程序。在使用過程中,客戶端在指定時(shí)間內(nèi)未向服務(wù)器端發(fā)送信息的,服務(wù)器認(rèn)為客戶端下線;客戶端在一定時(shí)間內(nèi)未收到服務(wù)器端信息的,認(rèn)為服務(wù)器已經(jīng)下線,則提示用戶并建議退出,在用戶一定時(shí)間后沒有退出的則自動(dòng)關(guān)閉客戶端程序。4.2.2數(shù)據(jù)需求分析(1)客戶端之間聊天信息。在控件上顯示時(shí)格式化,更易于用戶的查看自己發(fā)送或接收到的信息。(2)在線用戶聊天信息。服務(wù)器端存放在適當(dāng)?shù)目臻g中,在發(fā)送給客戶端時(shí),對信息列表進(jìn)行格式化,便于客戶端提取信息。11(3

20、)客戶端向服務(wù)器端發(fā)送的確認(rèn)在線信息。包括客戶端剛剛啟動(dòng)時(shí)的初始化信息和在使用過程中的確認(rèn)在線信息。(4)其它程序內(nèi)部可能需要設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)體。4.2.3性能需求分析(1)可靠性高,能在由于系統(tǒng)問題或其它原因產(chǎn)生錯(cuò)誤后,作出相對應(yīng)處理,比如網(wǎng)絡(luò)初始化失敗、服務(wù)器不在線等,可以提示用戶安全退出本程序,在出現(xiàn)不可知的錯(cuò)誤以后,可以盡量安全的退出程序。在程序的設(shè)計(jì)過程中,要求能盡可能多的設(shè)想到用戶使用過程中可能發(fā)生的事件,并能在判斷事件后做出相應(yīng)的處理,使程序具有較高的容錯(cuò)性能。(2)宜操作性,程序簡單易懂,容易上手使用。設(shè)計(jì)界面是,簡化界面的復(fù)雜性,模擬 QQ 等現(xiàn)有即時(shí)通訊工具的界面,使用戶能很

21、容易看懂并使用。(3)開發(fā)文檔易理解,保證以后自己二次開發(fā)或他人接手開發(fā)時(shí),能夠清晰的理解整個(gè)系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn)細(xì)節(jié)。(4)模塊化設(shè)計(jì)此軟件的功能,不同的模塊實(shí)現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。4.2.4運(yùn)行需求分析(1)用戶界面程序較小,啟動(dòng)速度快??稍诰W(wǎng)絡(luò)中使用。啟動(dòng)后的應(yīng)用界面要清爽,設(shè)計(jì)要簡單明了,要具有較高的易用性。(2)故障處理在遇到可預(yù)知的故障與情況時(shí),能提示用戶;在遇到不可預(yù)知的故障時(shí)能安全退出。124.3程序流程圖首先在服務(wù)器方, 利用 socket() 函數(shù)建立流式套接字, 返回套接字號(hào) s, 接著利用

22、bind() 函數(shù)將套接字 s 與本地地址綁定,緊接著利用 listen(0 函數(shù)通知 TCP,監(jiān)聽客戶方,服務(wù)器準(zhǔn)備接收連接,沒有連接的話,服務(wù)器方通過 closesocket() 關(guān)閉套接字 s, 服務(wù)結(jié)束。有連接的話,在客戶方,通過 socket() 函數(shù)建立流式套接字 s, 此時(shí)在服務(wù)器方, 建立連接,通過 accept() 返回,得到新的套接字 ns, 客戶方通過 connect() 將套接字 s 與遠(yuǎn)程地址連接 , 此時(shí)服務(wù)器方 / 客戶方在 ns/s 上讀 / 寫數(shù)據(jù),直到交換完成。 交換完成后, 服務(wù)器方 / 客戶方關(guān)閉套接字ns/s, 最后服務(wù)器方通過closesocket(

23、)關(guān)閉最初套接字 s, 服務(wù)結(jié)束。具體設(shè)計(jì)過程如圖1-2 所示。服務(wù)器方客戶方Socket()建立流式接字, 返回套接字 號(hào) sbind() 套接字 s 與本地地址綁定listen() 通知TCP 服務(wù)器準(zhǔn)備接收連accept()接收連接,等待客戶端的連接Socket() 建立流式套接字號(hào)s建立連接, accept()返回,得到新套接nsconnect() 將套接字s 與遠(yuǎn)程地址連接Recv()/send()在 ns 上讀 /寫數(shù)據(jù),直到完成Recv()/send()在 s 上讀 /寫數(shù)據(jù),直到完成交換closesocket(),關(guān)閉套接字nsclosesocket()關(guān)閉套接字 s,結(jié)束 T

24、CPclosesocket()關(guān)閉最初套接字s,服務(wù)結(jié)束圖 12134.4模塊設(shè)計(jì)4.4.1服務(wù)器首先運(yùn)行服務(wù)器,服務(wù)器偵聽端口消息,等待客戶端向其建立連接的申請,一旦接收到客戶端的連接請求,服務(wù)器將返回一個(gè)新的套接字描述符,通過該描述符調(diào)用數(shù)據(jù)傳輸函數(shù)即可與客戶端進(jìn)行數(shù)據(jù)的收發(fā)。服務(wù)器若接收的是登陸信息,向該用戶發(fā)送在線用戶列表,并更新服務(wù)器的在線用戶列表;若收到的是發(fā)送信息,服務(wù)器解析信息,然后通過廣播消息,向其所有線用戶列表發(fā)送消息。具體代碼如下:144.4.2客戶端在運(yùn)行服務(wù)器之后, 運(yùn)行客戶端??蛻舳耸紫认蚍?wù)器提出建立連接請求,然后建立一個(gè)套接字描述符,通過該描述符調(diào)用數(shù)據(jù)傳輸函數(shù)即可與服務(wù)端進(jìn)行數(shù)據(jù)的收發(fā)。用戶登錄成功后,向服務(wù)器發(fā)送登陸消息,并更新本地在線用戶列表,然后通過服務(wù)器實(shí)現(xiàn)與其他客戶聊天;當(dāng)客戶退出,向服務(wù)器發(fā)送下線消息。具體代碼如下:154.4.3加密模塊16第5章程序測試5.1 運(yùn)行結(jié)果開啟服務(wù)器:利用客戶端連接服務(wù)器:17輸入昵稱并發(fā)送消息:18加密發(fā)送,接收端收到的是密

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論