【正文】
它可以通過多個單次分。當(dāng)某一組機(jī)器需要通信時,選擇一個組播地址,并配置好相應(yīng)的網(wǎng)絡(luò)接口硬件,識別組播地址,從而收到該組播地址上分組的拷貝。UDP 是傳輸層協(xié)議,服務(wù)于很多知名應(yīng)用層協(xié)議,包括網(wǎng)絡(luò)文件系統(tǒng)(NFS) 、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP) 、域名系統(tǒng)(DNS)以及簡單文件傳輸系統(tǒng)(TFTP) 。與 TCP 不同,UDP 并不提供對 IP 協(xié)議的可靠機(jī)制、流控制以及錯誤恢復(fù)功能等。這是通過使用 UDP 的“端口號”完成的。 用戶數(shù)據(jù)報協(xié)議(UDP)UDP(User Datagram Protocol):用戶數(shù)據(jù)包協(xié)議,它和 TCP 一樣位于傳輸層,和 IP 協(xié)議配合使用,在傳輸數(shù)據(jù)時省去包頭,但它不能提供數(shù)據(jù)包的重傳,所以適合傳輸較短的文件。傳統(tǒng)的 C/S 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是 Client 端還是 Server 端都還需要特定的軟件支持。目前大多數(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)。.8 理論知識 C/S 軟件架構(gòu)技術(shù)C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)/服務(wù)器結(jié)構(gòu)。VC/VC++是前些年迅速發(fā)展和推廣的一種計算機(jī)語言,近年來,已經(jīng)相當(dāng)?shù)耐晟啤R陨系呐渲镁鬄樵谕痪钟蚓W(wǎng)內(nèi)的兩臺或兩臺以上。(4).1G 以上可用硬盤空間。(2).Pentium100 及以上檔次的 IBM PC 及其兼容機(jī)。接收方可以選擇接收或者拒絕相應(yīng)的傳輸文件。當(dāng)用戶發(fā)現(xiàn)所要連接的用戶之后,雙擊該用戶,則出現(xiàn)發(fā)送窗口。在設(shè)計系統(tǒng)時,應(yīng)根據(jù)簡潔、流暢的特點安排布局,在編制程序時應(yīng)充分考慮這一點傳輸?shù)姆€(wěn)定、快捷,真正做到“簡潔、高效、流暢、安全”的使用環(huán)境。 系統(tǒng)總體需求分析根據(jù)用戶需求,本系統(tǒng)分為兩個子系統(tǒng):1:局域網(wǎng)內(nèi)簡單文字聊天子系統(tǒng),它是在局域網(wǎng)內(nèi)選擇相應(yīng)的用戶,以便對之發(fā)送文字信息,2:文件、文件夾傳輸系統(tǒng),它是在先把需要傳輸?shù)奈募?、文件夾轉(zhuǎn)換成相就的數(shù)據(jù)流傳關(guān),到了目的主機(jī)再由之還原。(3)友好性原則:使用本系統(tǒng)的用戶相當(dāng)一部分對計算機(jī)知識了解很少,所以系統(tǒng)操作上要求簡單方便,便于用戶掌握。第 3 頁 共 20 頁7 系統(tǒng)需求分析 系統(tǒng)設(shè)計目標(biāo)根據(jù)對飛鴿傳輸系統(tǒng)的調(diào)研,我認(rèn)為本設(shè)計需要滿足以下幾個系統(tǒng)設(shè)計目標(biāo):(1)實用性原則:真正為局域網(wǎng)的實際工作服務(wù),按照需求的輕重緩急,合理設(shè)計本系統(tǒng)。i_ntoa 函數(shù)將一個網(wǎng)絡(luò)字節(jié)順序的 32 位 IP 地址轉(zhuǎn)化字符串。}。struct in_addr sin_addr。定義如下:Struct sockaddr_in{short sin_family。如果Winsock 強(qiáng)迫使用特定的尋址方式,添加其他協(xié)議就不大可能了。 Win Socket 的尋址方式 因為 Winsock 要兼容多個協(xié)議,所以必須使用通用的尋址方式。很多人都使用過飛鴿傳書軟件,飛鴿傳書發(fā)展到現(xiàn)在已經(jīng)具有了很多功能:有文字聊天、文件、文件夾傳輸?shù)幕竟δ?,也有密封、加鎖等較為復(fù)雜的功能。 研究項目的目的以及意義隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,比如人們借助于網(wǎng)絡(luò)進(jìn)行相互交流變得更加方便。第 2 頁 共 20 頁 本課題主要研究思路和方法本系統(tǒng)的開發(fā)采用基于 win socket 的廣播發(fā)送模式,進(jìn)行文字聊天和文件、文件夾傳輸?shù)脑O(shè)計與開發(fā)。TCP/IP 協(xié)議提供了兩種計算機(jī)之間的通訊方式:TCP 方式和 UDP 方式。TCP/IP 協(xié)議使用 IP 地址為網(wǎng)絡(luò)中計算機(jī)的標(biāo)識,而且每臺計算機(jī)的 IP 地址是唯一的,一般情況下,每臺計算機(jī)運(yùn)行的程序不止一個,因此要在應(yīng)用程序中建立連接的話,還需要一個地址標(biāo)識。大部分編程語言都提供了基于 Windows Sockets 網(wǎng)絡(luò)編程接口的 Win socket 控件,它使開發(fā) TCP/IP 通訊變得簡單方便。它據(jù)有的功能有:(1)局域網(wǎng)內(nèi)用戶間簡單的文字聊天功能;(2)局域網(wǎng)內(nèi)用戶間相互的文件、文件夾傳輸。在這種情況下,如何使局域網(wǎng)內(nèi)的用戶便捷的勾通,以及快速的資源共享,也就成為了人們對網(wǎng)絡(luò)研究的重點之一。信息的需求量的不停增加,促使了計算機(jī)通信的日新月異!雖然網(wǎng)絡(luò)的使用頻率與使用的范圍都越來越廣泛,但是人們使用的網(wǎng)絡(luò)的用途主要的還是只有兩個:(1).相互之間的溝通,(2).資源共享。 Fourth, carries on the design according to the solution to the system。 C/S construction technique and sockt work programming technology。s, needs to develop one based on the local of instant message area work information receiving and dispatching system instant message facilities, realizes carries on the information which work the exchange. This topic design mainly aims at the local area work munication to develop the design, uses is the C/S skeleton,like IP Messenger, for chat and files transmission.LAN against the text chat, documents and folders transmission, the design of a fake IP Messenger of LAN software, and analyze it in their areas of advantage. The design is developed by C program it can make in the vironment of windows 2022//xp of topic selection, in the environment The design altogether divides into five big modules, respectively is: First, introduction selected topic background and significance and domestic and foreign research present situation。設(shè)計共分為五大模塊,分別是:首先,介紹選題背景及意義和國內(nèi)外研究現(xiàn)狀;其次,介紹 TCP/IP 點對點協(xié)議技術(shù),C/S 架構(gòu)和 SOCKET 網(wǎng)絡(luò)編程技術(shù);再次,對當(dāng)前局域網(wǎng)文件傳輸進(jìn)行需求分析并提出解決方案;然后,根據(jù)解決方案對系統(tǒng)進(jìn)行設(shè)計;最后,對工作計劃統(tǒng)計以及分析系統(tǒng)進(jìn)行測試并得到測試結(jié)果。本論文的目標(biāo)是設(shè)計一個類似飛鴿傳輸?shù)木钟蚓W(wǎng)通信軟件,并分析它在其領(lǐng)域的優(yōu)勢。由于互連網(wǎng)上的網(wǎng)絡(luò)通訊工具給企業(yè)內(nèi)部信息交流帶來了不便,所以為了方便內(nèi)部網(wǎng)絡(luò)的用戶之間的溝通,需要開發(fā)一個基于局域網(wǎng)的信息收發(fā)系統(tǒng)的即時通訊工具,實現(xiàn)在內(nèi)部網(wǎng)絡(luò)中進(jìn)行信息的交流。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。(4)學(xué)??稍试S學(xué)位論文被查閱或借閱。(2)學(xué)??梢圆捎糜坝?、縮印或其他復(fù)制方式保存學(xué)位論文。除非另有說明,本文的工作是原始性工作。在此向他表示我最衷心的感謝!在論文完成過程中,本人還得到了韓斌老師和鄭帥同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!作者簡介:姓 名:張路長 性別: 男出生年月: 民族: 漢Email:聲 明本論文的工作是 2022 年 2 月至 2022 年 6 月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。[6] C++ :清華大學(xué)出版社,2022。[4] Douglas . TCP/IP 網(wǎng)絡(luò)互連技術(shù)[M] .北京:清華大學(xué)出版社,1998。[2] Anonymous.網(wǎng)絡(luò)最高安全技術(shù)指南 [M].北京:機(jī)械工業(yè)出版社, 1998。由于時間比較倉促,個人開發(fā)能力也有限,系統(tǒng)還存在一些其它的技術(shù)性問題,還需在今后的實踐中不斷總結(jié)和改善,以提高系統(tǒng)技術(shù)含量和研究價值,增強(qiáng)自身開發(fā)能力。,取長補(bǔ)短,可以使系統(tǒng)的開發(fā)過程少走彎路。第 18 頁 共 20 頁。主要工作: ,進(jìn)一步分析需求。結(jié) 論隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,局域網(wǎng)以其快捷的速度、優(yōu)異的準(zhǔn)確率始終在溝通和資源共享方面占有一席之地。}5 系統(tǒng)測試 測試環(huán)境簡單含有兩臺或者兩臺以上主機(jī)的局域網(wǎng)一個,主機(jī)的最低配置: CPU PIII8000 ,內(nèi)存 SDRAM 64M,WIN2022/XP/9X,2022 CPU PIII,內(nèi)存 256M 及以上。break。ret = DeleteKey(subKey) ? ret : FALSE。while (EnumKey(0, buf, sizeof(buf))){if ((ret = DeleteChildTree(buf)) != TRUE)第 17 頁 共 20 頁break。amp。BOOL ret = TRUE。密封和加鎖主要是通過程序的插件對所傳送的文件加以密封,加密,以便確保文件的安全性。 用戶密封或加鎖傳輸文件文件傳輸模塊實現(xiàn)主要依靠發(fā)送端與接收端建立有效的連接后,客戶端不斷地向 SOCKET 寫入文件流,服務(wù)器端不斷接受來自客戶端的 SOCKET 文件流。SendDlgItemMessage(HOST_LIST, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, style)。elsestyle amp。DWORD style = SendDlgItemMessage(HOST_LIST, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP。}DWORD dw = ::GetWindowLong(GetDlgItem(HOST_LIST), GWL_STYLE) | LVS_SHOWSELALWAYS。 t MAX_SENDWIDTH。}}int orderCnt = 0。 t++) {if (GetItem(ColumnItems, t)) {items[maxItems] = t。for (int t=0。 ~(1 SW_ABSENCE)。while (maxItems 0)SendDlgItemMessage(HOST_LIST, LVM_DELETECOLUMN, maxItems, 0)。其傳送界面,如圖 11 所示:圖 11 文件傳輸中實現(xiàn)的主要代碼為:void TSendDlg::InitializeHeader(void){int order[MAX_SENDWIDTH]。文件傳輸?shù)倪^程中流程為首先客端的主機(jī)通過 TCP/IP 協(xié)議建立鏈接,然后客戶機(jī)發(fā)送套節(jié)字請求,通過 3 次握手連接響應(yīng),再轉(zhuǎn)換數(shù)據(jù)為 socket 流傳送,最近通過 3 次握手?jǐn)嚅_連接響應(yīng)。} 文件傳輸?shù)慕缑媾c文字聊天一樣,系統(tǒng)的文件、文件夾傳輸模塊也盡量地要求簡單易行,便于操作。第 13 頁 共 20 頁break。ret = DeleteKey(subKey) ? ret : FALSE。while (EnumKey(0, buf, sizeof(buf))){if ((ret = DeleteChildTree(buf)) != TRUE)break。amp。BOOL ret = TRUE。以下為加鎖信息的主要界面。} 聊天信息的加鎖加鎖名如其實,其作用主要在于使傳送的信息或者文件、文件夾只能給有password 的用戶看,從而加強(qiáng)了信息的安全程度。return winWinProc(uMsg, wParam, lParam)。if ((win = preWnd) != NULL){preWnd = NULL。}LRESULT CALLBACK TApp::WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){TWin *win = SearchWnd(hWnd)。if (win != NULL)return winPreProcMsg(msg)。 hWnd != NULL。其中實現(xiàn)的主要代碼為:BOOL TApp::PreProcMsg(MSG *msg) // for TranslateAccel amp。并且在聊天過程中,封裝的過程仍在持續(xù),聊天的內(nèi)容是邊封裝數(shù)據(jù)包邊傳輸。return。}}if (nicAddr == 0)