免費vc++網上尋呼QICQ源代碼(附帶論文)(一)

學識都 人氣:4.47K

第 1 章  概論

免費vc++網上尋呼QICQ源代碼(附帶論文)(一)

§1.1 課題的來源及意義
 
 在網絡無所不在的今天,在Internet上,有icq,oicq,ticq等網上尋呼軟件,極大程度上方便了處於在世界各地的友人之間的相互聯繫,也使世界好象一下子縮小了,不管你在哪裏,只要你上了網,打開這些軟件,就可以給你的朋友發信息,不管對方是否也同時在線,只要知道他有號碼。
 
 現在,企業、機關、學校都建立起了自己的局域網,在局域網,雖然可以通過文件共享的方式進行通訊,但單單使用這種方式,是非常不方便的,首先,在局域網裏的網上鄰居里,只能看到機器名,不清楚對方是誰,也不知道對方機器裏有什麼資源可以共享,而且,當局域網的機器很多時,這種方式更加麻煩。於是,就想到做一個在局域網裏的icq,在局域網裏,我們可以通過它,實現在局域網裏方便的聯絡,進行文件傳輸,消息的發佈,自己共享內容的簡介等。在學校建立起校園網裏,這軟件可以起到方便同學之間,教師之間,師生之間的相互聯絡,這樣,不用上Internet,可以節省資源,在學校這個大環境裏,就可以同學之間聯繫,聯絡感情,促進同學之間的友誼,學生可以通過它來與不同寢室的同學,教師討論問題。並能最大限度地利用現有的網絡資源,極大地提高工作效率。為了適應校園網的建設,實現校園網內進行消息發佈,學生交流,師生交流,網上作業等功能。


§1.2 網上尋呼的軟件的現況
 網上尋呼軟件在國外的有icq等,在國內的主要有騰訊的Oicq,還有Ticq,OmO和一些在網頁上的即時通訊工具,像Chinaren網站上的WebMaster等等,都做得即美觀,且功能強大,Oicq現在擁有非常大的用户羣。
 
 在局域網內的網上尋呼,就我知道的有武漢碩思軟件公司的碩思即時通,能夠較好的完成局域網上尋呼,聊天,發文件,收E-mail等功能。
 
 現在也有很多,在局域網上不使用服務器的通訊軟件,這種軟件小巧且方便,也能解決一部分問題。但是有服務器的通訊軟件,有着不可比擬的優勢:可以發送離線消息,不管用户當時是否在線,下次上線時,就可以看到這條消息了。可以保存用户的個人信息或介紹,供人查看。而且,那種通訊軟件,是以機器為通訊單元的,而這種尋呼軟件是以人為通訊單元。總之,這種軟件在局域網上,還是有很大的用途的,為局域網上通訊,帶來極大的方便。
 
雖然説,現在這個軟件已經有公司把它開發出來了,我再做也不一定有新意,也未必可以做得更好,但作為畢業設計,也算是對我能力的一個考驗和這四個我學習知識的一個檢查。而且,我校現在也正在籌備建立校園網,如果這個軟件做得比較成功的話,能為校園網上的通訊帶來一定的方便,我就很滿足了。
 
 
 
§1.3面向對象方法與設計簡介
 
 傳統的軟件工程方法有生命週期方法和快速原型法。
 面向對象方法學是一種全新的軟件工程方法,其出發點和基本原則是儘可能模擬人類習慣的思維方式,把構成客觀世界的實體抽象為對象。概括地説,面向對象方法學有四個要點:
 1.認為客觀世界是由各種對象組成的,複雜的對象可以由比較簡單的對象以某種方式組合而成;
 2.把所有對象都劃分成各種對象類,每個對象類可以定義一組數據和方法;
 3.按照子類和父類的關係,把若干對象類組成一個層次結構的系統;
 4.對象彼此之間僅能通過傳遞消息互相聯繫。
用面向對象方法學開發的軟件有以下優點:
1.與人類習慣的思維方法一致;
2.穩定性好;
3.可重用性好;
4.可維護性好。
 
 
§1.4本章小結
 隨着計算機應用技術的日益普及,網絡也遍及到我們生活的每個角落,很好的利用這人資源,將為我們的工作和學習,帶來極大的方便和提高工作效率,所以,開發一個局域網裏的C/S通訊軟件,是十分必要。
 由於採用面向對象方法開發軟件具有明顯的優點,本系統將採用面向對象方法進行開發。由於採用面向對象的系統模型可以使整個軟件系統的結構變得更加靈活,本系統的結構模型將採用面向對象的系統模型,採用VC++6.0這個可視化開發工具進行編碼。
 


第 2 章  網絡通訊程序的設計原理和過程
 
 對網絡通訊程序的設計的原理和過程的透徹理解,是網絡通訊程序的前提。本章將簡要地介紹一下有關網絡通訊程序設計的基本知識。
 
§2.1 TCP/IP協議
 TCP/IP是國際互聯網所採用進行網際互連的通信協議。實際所稱的TCP/IP協議包括了在國際互聯網上應用的一組協議,互聯網協議族是此協議族的另一個名字。這個協議族包括幾種工作在不同層次上的網絡協議,IP互連協議(Internet Protocol),負責主機之間的傳輸數據。TCP傳輸控制協議(Transmission Control Protocol),負責在應用程序之間傳遞數據。UDP用户數據報協議(User Datagram Protocol),提供給用户進程的無連接協議,也負責在應用程序之間無連接傳遞數據,但不執行正確性檢查。ICMP互連網控制報文協議(Internet Control Message Protocol),處理主機間的差錯和傳送控制。ARP地址解析協議(Address Resolution Protocol),負責將網絡層地址轉換成鏈路層地址。RARP反向地址解析協議(Reverse Address Resolution Protocol),負責將鏈路層地址轉換成網絡層地址。
 
 TCP/IP協議的核心是傳輸層協議(TCP、UDP)、網絡層協議(IP)和物理接口層,這三層通常在操作系統的內核中實現。TCP/IP網絡環境下的應用程序設計是通過網絡系統編程界面Socket實現的,Socket提供應用程序與系統內核之間的網絡編程接口。協議可以是可靠的可以是不可靠的。可靠的協議意味着當數據通過協議傳遞時,協議保證數據正確傳輸。可靠傳輸包括幾個特徵。首先,為了確保數據正確傳送,協議在通信應用程序之間互相交換確認信息。也就是説,程序每次發送-個報文時,都期望對方發送一個相當於説:“我得到這個報文”的確認信息。如果發送程序沒有收到這樣一個確認信息,程序將自動重新發送此報文,直到得到應答信息為止。其次,為了確保傳輸的數據有效,可靠協議在每次傳輸時,都包含一個或更多的校驗和(CRC)。接收計算機重新計算校驗和,與收到的校驗和進行比較。如果不匹配,就表明在傳輸過程中發生了錯誤。
 
 傳輸控制協議TCP是一個使用校驗和、確認信息以及其它可靠數據傳輸技術的可靠協議。相比之下,不可靠協議不能確保數據正確傳輸。協議試圖傳輸數據,但不保證成功。而且,不可靠協議在傳輸失敗後,並不通知發送方應用程序。可將不可靠數據傳輸比作沒有返回地址的信件。如果發送地址是鍺誤的,由於郵遞系統不能將信退回給你,所以你就不知道信件有沒有送到。即使發送地址是正確的,