【正文】
NetWare 緊密結(jié)合起來”的設(shè)計(jì)構(gòu)想,可達(dá)到節(jié)省開銷,提高運(yùn)行效率之目標(biāo)。 1992 年 10 月 Microsoft 又搶先發(fā)布了 LAN ,以更 加領(lǐng)先于 Novell 的 NetWare 386 ,但后者立即隨后推出了 NetWare 。當(dāng)前國際 LAN 的市場(chǎng)上,兩雄稱霸,龍爭(zhēng)虎斗的局面,將可能持續(xù)相當(dāng)長一段時(shí)間。 90 年代計(jì)算機(jī)網(wǎng)絡(luò)化更加向深度和廣度方向發(fā)展。這標(biāo)志著正步入信息時(shí)代,世界范圍內(nèi) 的社會(huì)信息數(shù)據(jù)正在每年增長 40%到 45%的年增長率在增加,這就是迫切實(shí)現(xiàn)網(wǎng)絡(luò)化的動(dòng)力源泉。計(jì)算機(jī)的性能價(jià)格比以每年 25%的速度在提高。 90 年代計(jì)算機(jī)網(wǎng)絡(luò)化大趨勢(shì)尤為明顯。 4)通常為一個(gè)部門所擁有。 2)較高的通訊速率,大多在每秒 1100M bps ,而 WAN 大多在幾十 Kbps。 70 年代中期由于微型計(jì)算機(jī)的出現(xiàn)和微處理器的出現(xiàn),以及短程通訊技術(shù)的迅猛發(fā)展,兩者相輔相成,又促進(jìn)以微機(jī)為基礎(chǔ)的各種局域網(wǎng)絡(luò)( Local Area Network, LAN)的飛快發(fā)展, 1975 年美國 Xerox 公司首先推出了 Ether,與此時(shí)英國劍橋大學(xué)研制成劍橋環(huán)網(wǎng),他們是 LAN 的代表。并且,你還可以和外國友人交流學(xué)習(xí)。如國外 的 MSN 等,國內(nèi)主要的有騰訊的 qq,還有 Ticq 和一些在網(wǎng)頁上的即時(shí)通訊工具,像 Chinaren 網(wǎng)站上的 WebMaster 等等,都做得即美觀又強(qiáng)大,騰訊的 qq 有非常大的用戶群。并且可以極高的提高我們的工作效率。測(cè)試運(yùn)行后的可靠性滿足 Linux網(wǎng)絡(luò)聊天的基本要求。 本設(shè)計(jì)采用 TCP/IP協(xié)議 這樣可以 保證連接可靠 ,而且 項(xiàng)目管理中釆用 linux流行的 gcc和 makefile編譯 ,大大 提高了編譯和調(diào)試效率 ,提高 了項(xiàng)目完成 的效率 ,但是為了 模擬 幾 個(gè) client端 我們就需要在 pc機(jī)上再 安裝一個(gè)虛擬系統(tǒng)來操作 client端。 2021屆畢業(yè)設(shè)計(jì)說明書 基于 Linux 操作系統(tǒng)的聊天軟件的設(shè)計(jì) 學(xué) 院: 電氣與信息工程學(xué)院 學(xué)生姓名: 指導(dǎo)教師: 職稱 講師 專 業(yè): 電子信息工程 班 級(jí): 電子 1002 班 完成時(shí)間: 2021 年 5 月 摘 要 這 篇 論文整體 是 在 linux下 并通過 網(wǎng) 絡(luò) 實(shí)現(xiàn) 類似于 qq的的一篇操作報(bào)告。開發(fā)的框是C/S 框架,由 server端和 client端 組 成 ,首先設(shè)置好端口參數(shù)和 ip 地址,在編譯 ,調(diào)試后實(shí)現(xiàn) server端 與 各個(gè) client端的連接 ,連接后以后 server 端作為中間端來使客戶機(jī)實(shí)現(xiàn)通訊,因?yàn)榉?wù)器只存在一個(gè)但是客戶端存在多個(gè)所以我們必須通過鏈表去管理 ,client端的信息發(fā)送通過封裝在 socket結(jié)構(gòu)體中進(jìn)行傳輸 。 本次設(shè)計(jì)的聊天 通信使用全雙工 ,主要實(shí)現(xiàn)了功能如 :用戶的 帳號(hào)與密碼的 注冊(cè)與登錄 ,客戶點(diǎn)對(duì)點(diǎn) 聊天 ,客戶 之間 的 群聊 ,以及文件的發(fā)送與接收。 關(guān)鍵詞 :linux, socket, ,server端 ,client端 ,網(wǎng)絡(luò)編程 Abstract This thesis as a whole is under linux platform and through the local area work to achieve similar qq chat. The overall use of C / S framework, the main server side and client into two parts , set ip and port number , and Linux, pile and debug procedures to achieve client and server connections each client side , and then as the server side following transfer to achieve munication between client end . Since only one server side , and you can have multiple client end , so the server side using a single list to manage multiple client side information , client side encapsulated for transmission of information sent through the body in the socket structure . This design uses the TCP / IP protocol ,so you can ensure reliable connection, but also preclude the use of project management in a popular linux gcc and makefile to pile, pile and debug greatly improved efficiency , improve the efficiency of the pletion of the project, but due to simulate multiple client end Therefore, in the operating environment need to install a virtual system on the PC to operate multiple client side . The chat tool designed for fullduplex munication using munication , to achieve the five main functions: topeer chat between new user registration and login, user , group chat among users , file encryption transmission between users. After running the test program to meet the basic needs of work reliability in linux in chat . Keywords : linux, socket, server side , client end , work programming 目 錄 1 緒 論 1 課題研究的背景及意義 1 TCP/IP 介紹 2 本文的研 究內(nèi)容 4 2 技術(shù)說明與方案選擇 5 通信方式 5 UDP 通信 5 TCP 通信 5 客戶 /服務(wù)器模型 6 網(wǎng)絡(luò)套接字( socket)的概念 7 多線程的概念 7 3 系統(tǒng)實(shí)現(xiàn) 11 Linux 提供的有關(guān) Socket 的系統(tǒng)調(diào)用 11 實(shí)驗(yàn)過程說明(使用 TCP/IP) 13 TCP 通信實(shí)現(xiàn) 14 4 運(yùn)行效果 29 結(jié)束語 34 致謝 35 參考文獻(xiàn) 36 附錄 A 服務(wù)器程序 38 附錄 B 客戶端程序 47 1 緒 論 課題研究的背景及意義 隨著計(jì)算機(jī)應(yīng)用技術(shù)的日益普及,網(wǎng)絡(luò)也遍及到我們生活的每個(gè)角落,很好的利用這一資源,將成為我們工作和學(xué)習(xí),帶來極大的方便。所以,各種聊天軟件應(yīng)運(yùn)而生了。 這些網(wǎng)絡(luò)聊天軟件極大程度上方便了處于在世界各地的友人之間的聯(lián)系,無論你和親人、朋友相隔多遠(yuǎn),你都可以隨時(shí)隨地和他們交流。 在網(wǎng)絡(luò)發(fā)展上,最早出現(xiàn)的是分布在很大的地理范圍內(nèi)的遠(yuǎn)程網(wǎng)絡(luò)( WideAreaNetwork,WAN),例如美國國防部高級(jí)研究計(jì)劃局首先研制的 ARPA 網(wǎng),它從 1969 年建立 ,至今已經(jīng)發(fā)展成為跨越幾大洲的巨型網(wǎng)絡(luò)。 LAN 與 WAN 有所區(qū)別,其特點(diǎn)為: 1)有限的地理范圍,通常網(wǎng)內(nèi)的計(jì)算機(jī)限于一棟大樓,樓群或一個(gè)企業(yè)及單位。 3)通訊介質(zhì)多樣。 特別是 80 年代以來,以微機(jī)為基礎(chǔ), LAN 技術(shù)有了極其迅速的發(fā)展。具稱 1978 年全世界約有 700 萬人每天使用計(jì)算機(jī),而到 1998 年上升到 5000 萬人,目前全世界已經(jīng)擁有超過一億臺(tái)的計(jì)算機(jī),預(yù)計(jì)每天上機(jī)人數(shù)可達(dá) 2 億以上。微機(jī)的應(yīng)用已經(jīng)滲透到國民經(jīng)濟(jì)的各個(gè)部門,乃至家庭和個(gè)人。據(jù)稱,約有 65%的計(jì)算機(jī)要聯(lián)網(wǎng)或已經(jīng)聯(lián)網(wǎng),以求彼此通信,達(dá)到資源共享的目標(biāo)。人們要求網(wǎng)絡(luò)傳輸?shù)膬?nèi)容范圍增加,諸如數(shù)據(jù)之外,還需傳輸聲音,圖形,圖象和文字,這就是以網(wǎng)絡(luò)為基礎(chǔ)的多媒體技術(shù),使網(wǎng)絡(luò)的應(yīng)用廣度更加擴(kuò)大,并最終為信息化社會(huì)的實(shí)現(xiàn)所必須的網(wǎng)絡(luò)連接奠定基礎(chǔ)。 正如大家知道的那樣, 80 年代后期美國 Novell 公司先是以“一花獨(dú)秀,壓倒群芳”之勢(shì)占據(jù)了國際 LAN 市場(chǎng) 60%以上,一路領(lǐng)先,扶搖直上,尤其是 NetWare 386 版 推出后,受到普遍的注目;隨后,國際上的軟件公司龍頭老大 Microsoft 公司先后推出了 LAN Manager (即 LAN 3+ Open)、 LAN Manager 和 ,后來居上,成為世界 LAN 的兩大支柱之一??梢姟褒垹?zhēng)虎斗”,瓜分市場(chǎng)的情景。 Novell LAN 最大的特點(diǎn)是與其底層的網(wǎng)卡的無關(guān)性,即是說 NetWare 可以虛擬的在所有流行的 LAN 上面運(yùn)行,使它成為一個(gè)理想的開發(fā)網(wǎng)絡(luò)應(yīng)用軟件的平臺(tái),吸引了廣大用戶軟件人員為之開發(fā)越來越多的網(wǎng)絡(luò)應(yīng)用軟件。此外, Novell LAN 不需專用服務(wù)器,占用工作站內(nèi)存最小,使用方便,功能強(qiáng),效率高,兼容性強(qiáng),可靠性高,保密性強(qiáng),容錯(cuò)性好。 與此同時(shí),微軟的 LAN Manager 和 局域網(wǎng)版除了有一般的基礎(chǔ)的優(yōu)點(diǎn),還應(yīng)用了“客戶機(jī)/服務(wù)器”( Client/Server)的強(qiáng)大內(nèi)網(wǎng)絡(luò)體系結(jié)構(gòu),以及基于多用戶,多任務(wù)并發(fā)先進(jìn)的 OS/2 作為服務(wù)器,并以 OS/2, Unix, VMS 和 Windows NT 作為系統(tǒng)的開發(fā)平臺(tái),更方便與異類機(jī)種訪問網(wǎng)絡(luò)。在網(wǎng)絡(luò)化技術(shù)飛速發(fā)展的今 天, TCP/IP 協(xié)議可謂是立下了汗馬功勞。這些技術(shù)實(shí)現(xiàn)了在科學(xué)研究,軍事和社會(huì)生活迫切需要共享的資料。 TCP/IP 定義了電子設(shè)備如何連入 因特網(wǎng) ,以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn)。通俗而言: TCP 負(fù)責(zé)發(fā)現(xiàn) 傳輸 的問題,一有問題就發(fā)出信號(hào),要求重新傳輸,直到所有 數(shù)據(jù)安全 正確地傳輸?shù)侥康牡亍? ( 1) 協(xié)議優(yōu)勢(shì) 在社會(huì)長期的發(fā)展過 程中, IP逐步取代了其余的網(wǎng)絡(luò)。 IP 傳輸通用數(shù)據(jù)。 ( 2)協(xié)議的缺點(diǎn) 第一,協(xié)議在服務(wù),接口方面的區(qū)分不明確。 第二,主機(jī) 網(wǎng)絡(luò)層本身并不是實(shí)際的一層,它定義了網(wǎng)絡(luò)層與數(shù)據(jù)鏈路層的接口。 Linus Torvald。 提到 Linux 我們 一定要知道 GNU 和 Unix。 除了 一些庫是以 GNU函數(shù)庫通用公共許可證發(fā)行的 ,其他基本上 GNU工程的軟件和文檔是以 GNU通用公共許可證 為基礎(chǔ) 發(fā) 布 的。 GPL 極大的 體現(xiàn)了 Stallman 的思想:只要用戶所做的修改是有利于系統(tǒng)發(fā)展的 ,用戶可以自由地使用、拷貝、查詢、重用、修改 也可以 發(fā)布這個(gè) 修改后的 軟件。 Unix是由 AT—T貝爾實(shí)驗(yàn)室的 Ken Thompson和 Dennis Ritchie在已經(jīng)廢棄了的 PDP7上開發(fā)的 在 1969 年; 剛開始 它是一個(gè) 僅用 用匯編語言單 編寫的一個(gè)建議的單用戶 用戶操作系統(tǒng)。 Unix 的最初版本 不收費(fèi)的供應(yīng)給眾多的大學(xué)的計(jì)算機(jī)系去使用 。 在這個(gè)事間的同時(shí) ,很多其他的 的 Unix 版本也開始萌生。而 Linux最初 就 是專門為 Intel 的個(gè)人計(jì)算機(jī)設(shè)計(jì)的。他 將內(nèi)核開發(fā)到了 版 ,這個(gè)版本 中 已經(jīng)可以運(yùn)行 gcc、 bash 和 其他少量的 應(yīng)用程序。它的源代碼量也呈指數(shù)形式 迅速 增長 ,實(shí)現(xiàn)了基本的 TCP/IP 功能 ,在此同時(shí)大約有 100000 用戶開始使用 Linux 操作系統(tǒng)了, Linux 系統(tǒng)開始被廣大的用戶所認(rèn)可?,F(xiàn)在的 Linux 內(nèi)核 集成了 150 萬 多行代碼 ,不僅可以 作為 Web 服務(wù)器平臺(tái) ,而且也為 越來越多的用戶提供文件和打印服務(wù)。 Linux 的企業(yè)級(jí)特性 : Linux 系統(tǒng)不僅 支持多處理器、支持大型文件系統(tǒng)、日志文件系統(tǒng) 而且在 密集型計(jì)算和高可用性集群技術(shù) 上面 也逐步成熟。 KDE 桌面提供的圖形用戶界面在易用性和可配置方面和微軟的 Windows 不相上下 。每 學(xué)習(xí)者 都有可以 輕松 自由 的 獲取內(nèi)核源 代碼 ,每個(gè)人都 可 以運(yùn)載源程序 并對(duì)其 加以修改 ,而后 的 他人也可以自由獲取你修改后的源程序。集市模型 是 通過重視實(shí)驗(yàn)征集