資源描述:
《網(wǎng)絡(luò)編程聊天程序課程設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、課題名稱(chēng):TCP/IP協(xié)議及網(wǎng)絡(luò)編程技術(shù)課程設(shè)計(jì)子課題:實(shí)現(xiàn)簡(jiǎn)化功能的客戶(hù)機(jī)和服務(wù)器聊天程序院(系):計(jì)算機(jī)學(xué)院專(zhuān)業(yè):通信工程班級(jí):學(xué)生姓名:hshengxue學(xué)號(hào):200900402022指導(dǎo)教師:周堅(jiān)和2012年6月22日-16-目錄摘要………………………………………………………………3引言………………………………………………………………3一、課程設(shè)計(jì)的目的和意義……………………………………3二、課程設(shè)計(jì)的內(nèi)容和要求……………………………………3三、課程設(shè)計(jì)所需了解的相關(guān)內(nèi)容和技術(shù)……………………4(一)、套接口………………………………………
2、…………4?。?)套接口的概念……………………………………….4(2)套接口的分類(lèi)…………………………………………5(3)Socket工作模式………………………………………6(二)、所用的關(guān)鍵技術(shù)…………………………………………6(三)WinsockAPI的使用………………………………………7四、課程設(shè)計(jì)過(guò)程………………………………………………7(一)設(shè)計(jì)思路…………………………………………………7(1)服務(wù)器的主要工作流程…………………………………7(2)客戶(hù)機(jī)的工作流程………………………………………8.(3)服務(wù)器的工作流程………………………
3、………………8五、編程實(shí)現(xiàn)…………………………………………………9(一)服務(wù)器端的實(shí)現(xiàn)………………………………………9(二)客戶(hù)端的實(shí)現(xiàn)…………………………………………11六、小結(jié)………………………………………………………15七、參考文獻(xiàn)…………………………………………………16-16-摘要:網(wǎng)絡(luò)應(yīng)用程序是通過(guò)網(wǎng)絡(luò)使用通信協(xié)議實(shí)現(xiàn)進(jìn)程間的通信;本項(xiàng)目采用軟件工程的方法,綜合運(yùn)用網(wǎng)絡(luò)程序設(shè)計(jì),以visualc++6.0作為系統(tǒng)前臺(tái)應(yīng)用程序開(kāi)發(fā)工具。此局域網(wǎng)聊天工具采用客戶(hù)端/服務(wù)端(C/S)模式和UDP連接。它由兩個(gè)程序組成:服務(wù)器(Server)
4、和客戶(hù)端(Client),首先需要登錄服務(wù)器,再登錄客戶(hù)端,需要指定服務(wù)器IP地址以便與服務(wù)器建立連接。登錄后,客戶(hù)可以在自己的界面上與另一指的定的客戶(hù)端進(jìn)行聊天。服務(wù)器模塊主要用來(lái)維護(hù)網(wǎng)絡(luò)用戶(hù)用戶(hù)的信息,包括用戶(hù)IP地址,聊天內(nèi)容;聊天客戶(hù)端模塊主要包括用戶(hù)連接,發(fā)送信息,接收信息。是一套用于Internet網(wǎng)絡(luò)使用的網(wǎng)絡(luò)聊天工具,其操作簡(jiǎn)單,靈活性好,運(yùn)用也比較穩(wěn)定。關(guān)鍵詞:網(wǎng)絡(luò),聊天程序,客戶(hù)端/服務(wù)端,UDP傳輸控制協(xié)議。0、引言 網(wǎng)絡(luò)應(yīng)用程序是通過(guò)網(wǎng)絡(luò)使用通信協(xié)議實(shí)現(xiàn)進(jìn)程間的通信,UDP是TCP/IP協(xié)議族為傳輸層設(shè)計(jì)的兩個(gè)協(xié)議之一,
5、UDP提供的是無(wú)連接、不可靠的網(wǎng)絡(luò)傳輸協(xié)議,在進(jìn)行網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)時(shí),TCP/IP協(xié)議的核心內(nèi)容被封裝在操作系統(tǒng)中。網(wǎng)絡(luò)應(yīng)用程序要使用UDP協(xié)議來(lái)實(shí)現(xiàn)自己的功能,只能通過(guò)由系統(tǒng)提供給用戶(hù)的UDP協(xié)議編程接口來(lái)實(shí)現(xiàn)。因此,可以說(shuō)設(shè)計(jì)網(wǎng)絡(luò)應(yīng)用程序就是利用網(wǎng)絡(luò)編程接口(API)進(jìn)行程序設(shè)計(jì)的過(guò)程。在Windows環(huán)境下的網(wǎng)絡(luò)應(yīng)用程序編程接口叫WindowsSockets,即套接口。-16-一、課程設(shè)計(jì)的目的和意義UDP是TCP/IP協(xié)議族為傳輸層設(shè)計(jì)的兩個(gè)協(xié)議之一,它在進(jìn)程與進(jìn)程的通信過(guò)程中,提供了有限的差錯(cuò)校驗(yàn)功能,是一種無(wú)連接的,不可靠的協(xié)議。UD
6、P在一個(gè)較低的水平上完成進(jìn)程之間的通信,在收到分組的時(shí)候沒(méi)有流量控制機(jī)制也沒(méi)有確認(rèn)機(jī)制,適用于可靠性比較高的局域網(wǎng)。由于UDP采取了無(wú)連接的方式,因此協(xié)議簡(jiǎn)單,在一些特定的應(yīng)用中協(xié)議運(yùn)行效率高。UDP適合一些實(shí)時(shí)的應(yīng)用,如IP電話(huà),視頻會(huì)議,它們要求源主機(jī)以恒定的速率發(fā)送數(shù)據(jù),并且在網(wǎng)絡(luò)出現(xiàn)擁塞時(shí),可以丟失一些數(shù)據(jù),但是延遲不能太大。基于這些特點(diǎn),流式多媒體通信、多播等應(yīng)用在傳輸層采用的就是UDP協(xié)議。因?yàn)閁DP具有TCP所望塵莫及的速度優(yōu)勢(shì)。雖然TCP協(xié)議中植入了各種安全保障功能,但是在實(shí)際執(zhí)行的過(guò)程中會(huì)占用大量的系統(tǒng)開(kāi)銷(xiāo),無(wú)疑使速度受到嚴(yán)重的
7、影響。反觀UDP由于排除了信息可靠傳遞機(jī)制,將安全和排序等功能移交給上層應(yīng)用來(lái)完成,極大降低了執(zhí)行時(shí)間,使速度得到了保證。二、課程設(shè)計(jì)的內(nèi)容和要求用socket編程接口編寫(xiě)兩個(gè)程序,分別為客戶(hù)機(jī)程序(client.cpp)和服務(wù)器程序(server.cpp),使用UDP傳輸層協(xié)議,能實(shí)現(xiàn)下述功能。(1)程序能流暢地完成信息內(nèi)容的傳輸和接收。-16-(2)要能對(duì)多個(gè)客服端進(jìn)行管理。需要通過(guò)UDP模擬多個(gè)客服端連接驗(yàn)證的情況。三、課程設(shè)計(jì)所需了解的相關(guān)內(nèi)容和技術(shù)?。ㄒ唬⑻捉涌凇 。?)套接口的概念 WindowsSocketsAPI依靠套接口So
8、cket進(jìn)行通信。套接口可看成是兩個(gè)網(wǎng)絡(luò)應(yīng)用程序進(jìn)行通信時(shí),各自通信連接中的一個(gè)端點(diǎn)。通信時(shí),其中的一個(gè)網(wǎng)路應(yīng)用程序?qū)⒁獋鬏數(shù)囊欢涡畔?xiě)