資源描述:
《基于linux網絡聊天室的設計》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、目錄1引言11.1課程設計背景11.2課程設計目的21.3課程設計內容22技術介紹32.1TCP和UDP介紹32.2客戶/服務器模型42.3網絡套接字(socket)的概念52.4多線程的概念63系統(tǒng)設計73.1系統(tǒng)結構設計73.2通信設計74系統(tǒng)實現(xiàn)84.1系統(tǒng)調用相關函數(shù)84.2系統(tǒng)實現(xiàn)過程說明105運行效果11結束語13致謝14參考文獻15附錄16劉佳《基于Linux網絡聊天室的設計》第21頁共21頁1引言1.1課程設計背景Linux是一種針對PC計算機和工作站的操作系統(tǒng),它具有像Windows和Mac那樣的功能齊全的圖形用戶界面(GUI,Graphic
2、alUserInterface)。LinusTorvald和其它的遍布世界各地的編程人員共同開發(fā)的[1]。提到Linux我們不能不提GNU和Unix。RichardM.Stallman建立的自由軟件聯(lián)盟出版了兩種許可證,GNU通用公共許可證(GNUGneralPublicLicense,GPL)和GNU函數(shù)庫通用公共許可證(GNULibraryGneralPublicLicense,LGPL)。大部分GNU工程的軟件和文檔是以GNU通用公共許可證發(fā)行的,但是有一些庫是以GNU函數(shù)庫通用公共許可證發(fā)行的。按照GNU通用公共許可證的規(guī)定,Linux的源代碼可以自由
3、獲取,這滿足了我們學習該系統(tǒng)的強烈愿望。GPL充分體現(xiàn)了Stallman的思想:只要用戶所做的修改是同等自由的,用戶可以自由地使用、拷貝、查詢、重用、修改甚至發(fā)布這個軟件。通過這種方式,GPL保證了Linux(以及同一許可證下的大量其他軟件)不僅現(xiàn)在自由可用,而且皮后經過任何修改這后都仍然可以自由使用。Unix是由AT—T貝爾實驗室的KenThompson和DennisRitchie于1969年在一臺已經廢棄了的PDP-7上開發(fā)的;最初它是一個用匯編語言寫成的單用戶操作系統(tǒng)。后來,他們又在PDP-11上用C語言重新編寫(發(fā)明C語言的部分目的就在于此),把Uni
4、x做成為了一個文本處理系統(tǒng),這使Unix在貝爾實驗室得到廣泛的應用。Unix的最初版本免費提供給許多知名的大學的計算機系使用。加州大學伯克利分校的計算機系就是其中的一名,并地Unix進行了修改增加了許多新的特點,這就是主為人知的BSC版本的Unix。與此同時,其它獨立開發(fā)的Unix版本也開始萌生。Unix不斷發(fā)展了,各種版本被應用到不同的計算機使用。而Linux最初是專門為基于Intel的個人計算機設計的。(1)Linux的昨天1991年,一名叫LinusTorvalds的芬蘭大學生對Unix各種版本對于80386類的機器的脆弱支持十分不滿,他決定要開發(fā)出一個
5、全功能的、支持POSIX標準的、類Unix的操作系統(tǒng)內核,該系統(tǒng)吸收了BSD和SystemV的優(yōu)點,同進摒棄了它們的缺點。他獨立把這個內核開發(fā)到0.02版,這個版本已經可以運行gcc、bash和很少的一些應用程序。后來,他又開始了在因特網上尋求廣泛的幫助。1994年,Linux已經升級到1.0版本。它的源代碼劉佳《基于Linux網絡聊天室的設計》第21頁共21頁量也呈指數(shù)形式增長,實現(xiàn)了基本的TCP/IP功能,此時Linux已經擁有大約10萬的用戶。(2)Linux的今天作為一各服務器級的操作系統(tǒng),Linux已經成熟了。現(xiàn)在的Linux內核由150多行代碼組成
6、,能作為Web服務器平臺,也為越來越多的商業(yè)用戶提供文件和打印服務。它既被當作郵件服務器的一種候選平臺,也被當作一種強壯而安全的防火墻。Linux的企業(yè)級特性,比如支持多處理器、支持大型文件系統(tǒng)、日志文件系統(tǒng)以及密集型計算和高可用性集群技術,也逐步成熟。桌面上的Linux也在繼續(xù)完善。KDE桌面提供的圖形用戶界面在易用性和可配置方面都能和微軟的Windows相媲美。(3)Linux的明天Linux最強大的生命力在于其公開的開發(fā)過程。每個人都有可以自由獲取內核源程序,每個人都有要不得以運載源程序加以修改,而后他人也可以自由獲取你修改后的源程序。Linux這種獨特
7、的自由流暢的開發(fā)模型已被命名為bazaar(集市模型)。Bazaar開發(fā)模型通過重視實驗,征集并充分利用早期的反饋,對巨大數(shù)量的腦力資源進行平衡配置,可以開發(fā)出更優(yōu)秀的軟件。本聯(lián)盟就是想通過bazaar開發(fā)模型,在網上召集一些Linux的愛好者,開發(fā)出更優(yōu)秀的操作系統(tǒng)或軟件。1.2課程設計目的由于Linux的開源的特點,越來越多的人轉而使用Linux做為PC機的操作系統(tǒng)。但是Linux的真正興起只是在最近幾年,因此很多功能并不是很完善,并且由于Linux的開源特征,很多軟件開發(fā)公司很難從中獲得直接利益,因此很多Windows上的實用的軟件,在Linux下卻很少
8、見。本課程設計正是為了解決Linux下