網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-VB編程畢業(yè)設(shè)計(jì)_第1頁
網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-VB編程畢業(yè)設(shè)計(jì)_第2頁
網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-VB編程畢業(yè)設(shè)計(jì)_第3頁
網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-VB編程畢業(yè)設(shè)計(jì)_第4頁
網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-VB編程畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、編號:_畢 業(yè) 論 文題 目: 網(wǎng)絡(luò)多人聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 院 (系): 成人教育學(xué)院專 業(yè): 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師單位: 姓 名: 職 稱: 題目類型: 與指導(dǎo)教師科研掛鉤 指導(dǎo)教師自選 應(yīng)用基礎(chǔ)研究 生產(chǎn)實(shí)際研究 20XX 年 7月15日桂林電子科技大學(xué)畢業(yè)論文摘 要近年來計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,越來越深刻的改變了人們生活的方方面面,使得人們能以更低廉的價(jià)格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系和交流方式,使得人們可以在遠(yuǎn)隔千里之遙隨時(shí)通訊。過去的種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的需要。網(wǎng)上聊天系統(tǒng)作為一種方

2、便人與人之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生,為我們的工作和學(xué)習(xí),帶來極大的方便和提高工作效率。由于目前人們交流方式變得多種多樣,其中聊天軟件憑借其友好的外觀、強(qiáng)大的功能、使用的便利、聯(lián)系的及時(shí)等特點(diǎn)博得現(xiàn)代人的青睞,其應(yīng)用的市場十分廣闊?,F(xiàn)在,企業(yè)、機(jī)關(guān)、學(xué)校紛紛建立起自己的局域網(wǎng)。在局域網(wǎng),雖然可以通過文件共享的方式進(jìn)行通訊,但單單使用這種方式,是非常不方便的。于是就想到做一個(gè)在局域網(wǎng)里的多功能聊天軟件,在局域網(wǎng)里,我們可以通過它,實(shí)現(xiàn)在局域網(wǎng)里方便的聯(lián)絡(luò),進(jìn)行文件傳輸,消息的發(fā)布,自己共享內(nèi)容的簡介等。在學(xué)校建立的校園網(wǎng)里,這軟件可以方便同學(xué)之間、教師之間、師生之間的相互聯(lián)絡(luò),這樣,不用上Int

3、ernet,還可以節(jié)省資源,在學(xué)校這個(gè)大環(huán)境里,可以方便同學(xué)之間聯(lián)系,聯(lián)絡(luò)感情,促進(jìn)同學(xué)之間的友誼,學(xué)生可以通過它來與不同寢室的同學(xué),或教師討論問題。并能最大限度地利用現(xiàn)有的網(wǎng)絡(luò)資源,極大地提高工作效率。為了適應(yīng)校園網(wǎng)的建設(shè),并實(shí)現(xiàn)校園網(wǎng)內(nèi)的消息發(fā)布,學(xué)生交流,師生交流,網(wǎng)上交作業(yè)等功能。作為本人的畢業(yè)設(shè)計(jì),本文介紹了個(gè)人開發(fā)的一款適用于校園的,一個(gè)局域網(wǎng)內(nèi)的C/S結(jié)構(gòu)的通訊軟件,它將使同學(xué)們的交流更為方便,也可根據(jù)自身特點(diǎn)添加更多功能。我考慮到作為局域網(wǎng)(校園網(wǎng))聊天工具,終端用戶數(shù)量較少,借鑒了QQ、網(wǎng)絡(luò)聊天室等即時(shí)聊天工具,聊天信息采用服務(wù)器轉(zhuǎn)發(fā)方式,只要當(dāng)前在線的用戶都可以接收到,當(dāng)然

4、,也實(shí)現(xiàn)了兩人之間的私聊功能。軟件包括服務(wù)器程序和客戶端程序,服務(wù)器包括聊天信息即時(shí)轉(zhuǎn)發(fā),自動(dòng)關(guān)機(jī)的設(shè)置及記載,發(fā)送通知,數(shù)據(jù)庫備份還原及數(shù)據(jù)庫的初始化等功能??蛻舳司哂械顷?注冊,修改個(gè)人信息,聊天等功能。關(guān)鍵詞 VB ; Access ; Winsock ; 聊天 緒論 第1頁 共21頁AbstractIn recent years the computer technology fast develop quickly, special the computer network development, the more and more profound change people h

5、ave lived aspects. Enables the people by a more inexpensive price, develops a more convenient, the more practical network tool. Each kind of on-line service system was the profound influence peoples relation and the exchange way, caused the people to be allowed to be widely separated by the great di

6、stance the remote as necessary communication. Alls orts of past obsolete connect method, already could not satisfy the modern life. The pragmatic system that cyber buck system contacts as one kind of convenient person and person between just arises at the historic moment , is ours work and study , b

7、rings about immense going to the lavatory and raises working efficiency. Because the present people exchange the way to change many and varied, in which chats software to rely on its friendly outward appearance, the formidable function, the use convenience, the relation prompt and so on the characte

8、ristic wins modern peoples favour, its application market is extremely broad.Now, the enterprise, the institution, the school all established own local area network, in local area network, although was allowed to carry on the communication through the document sharing way, but solely used this way,

9、was extremely not convenient. Thereupon thought makes multi-purpose to chat software on-line service system, was the profound influence peoples relation and the exchange way, caused the people to be allowed to be widely separated by the great distance the remote as necessary communication. Past all

10、sorts of obsolete contact method, already could not satisfy the modern life the need. On-line chats the system to take between one kind of convenient consumer and the people relates the practical system then arises at the historic moment, for ours work and the study, will bring the enormous convenie

11、nce and the enhancement working efficiency. Also because are in the local area network, in the local area network, we may through it, realize the contact which facilitates in the local area network, carries on the file transfer, the news issue, own share the content the synopsis and so on. Establish

12、es in the campus net in the school, this software may get up between the convenient schoolmate, between the teacher, between teachers and students mutual contact, like this, does not use Internet, may save the resources, in school this big environment, may between the schoolmate relate, makes friend

13、ly contacts, promotes between schoolmates friendship, the student to be allowed to come through it with the different bedroom schoolmate, the teacher to discuss the issue. And can maximum limit use the existing network resources, enormously enhances the working efficiency. In order to adapt the camp

14、us net construction, realizes in the campus net to carryon the news to issue that, the student exchanges, the teachers and students exchange, function and so on on-line work.As myself graduation project, this article introduced individual development section is suitable for the campus, in local area

15、 network C/S structure communication software, it will cause the school mates exchange to be more convenient, also might act according to own characteristic to increase multi-purpose. I considered (campus net)chats the tool as the local area network, the terminal user quantity are less, this VB mult

16、i-purpose chatted software to profit from QQ, the Internet chat room and so on promptly chatted the tool, chatted the information to use the server to retransmit the way, so long as the current on-line users all were allowed to receive, certainly, also realized two person of between privately to cha

17、t the function. Including the server procedure and the customer end procedure, the server including chats the information to retransmit immediately, automatic Shut machine down establishment and record, transmission notice, database backup return to original state and database initialization. The cu

18、stomer end has lands, the registration, revises individual information, chats and so on the function.KeyWords: VB ; Access ; Winsock ; Chat目 錄1 緒論1.1 課題的來源及意義在網(wǎng)絡(luò)無所不在的今天,在Internet上,有Icq,Oicq,MSN等網(wǎng)上尋呼軟件,極大程度上方便了處于世界各地的友人之間的相互聯(lián)系,也使世界好像一下子縮小了,不管你在哪里,只要你上了網(wǎng),打開這些軟件,就可以給你的朋友發(fā)信息,不管對方是否也同時(shí)在線,只要知道他的號碼?,F(xiàn)在,企業(yè)、機(jī)

19、關(guān)、學(xué)校都紛紛建立起自己的局域網(wǎng)。在局域網(wǎng)里,雖然可以通過文件共享的方式進(jìn)行通訊,但單單使用這種方式,是非常不方便的。首先,在局域網(wǎng)里的網(wǎng)上鄰居里,只能看到機(jī)器名,不清楚對方是誰,也不知道對方機(jī)器里有什么資源可以共享,而且當(dāng)局域網(wǎng)內(nèi)的機(jī)器很多時(shí),這種方式更加麻煩。于是,就想到做一個(gè)適用于局域網(wǎng)(校園網(wǎng))的聊天工具,在局域網(wǎng)里,我們可以通過它實(shí)現(xiàn)局域網(wǎng)內(nèi)方便的聯(lián)絡(luò)、進(jìn)行文件傳輸、消息的發(fā)布、自己共享內(nèi)容的簡介等。在學(xué)校建立起校園網(wǎng)里,這軟件可以起到方便同學(xué)之間、教師之間、師生之間相互聯(lián)絡(luò)的作用。這樣,不用上Internet,可以節(jié)省資源,在學(xué)校這個(gè)大環(huán)境里,就可以同學(xué)之間聯(lián)系,聯(lián)絡(luò)感情,促進(jìn)同學(xué)

20、之間的友誼,學(xué)生可以通過它來與不同寢室的同學(xué),教師討論問題。并能最大限度地利用現(xiàn)有的網(wǎng)絡(luò)資源,極大地提高工作效率。為了適應(yīng)校園網(wǎng)的建設(shè),并實(shí)現(xiàn)校園網(wǎng)內(nèi)消息發(fā)布、學(xué)生交流、師生交流、網(wǎng)上交作業(yè)等功能1。1.2 課題的目的現(xiàn)在也有很多在局域網(wǎng)上不使用服務(wù)器的通訊軟件,這種軟件小巧且方便,也能解決一部分問題。但是有服務(wù)器的通訊軟件,有著不可比擬的優(yōu)勢:可以發(fā)送離線消息,不管用戶當(dāng)時(shí)是否在線,下次上線時(shí),就可以看到這條消息了;可以保存用戶的個(gè)人信息或介紹,供人查看。而且,不使用服務(wù)器的通訊軟件,是以機(jī)器為通訊單元的,而有服務(wù)器的通訊軟件是以人為通訊單元??傊?有服務(wù)器的通訊軟件在局域網(wǎng)上,還是有很大的

21、用途的,為局域網(wǎng)上通訊,帶來極大的方便。1.3 本人所做工作這個(gè)基于VB的多功能聊天軟件由本人獨(dú)立開發(fā)完成。本軟件采用面向?qū)ο蠓椒ㄟM(jìn)行開發(fā)。采用面向?qū)ο蟮南到y(tǒng)模型可以使整個(gè)軟件系統(tǒng)的結(jié)構(gòu)變得更加靈活,本系統(tǒng)的結(jié)構(gòu)模型將采用面向?qū)ο蟮南到y(tǒng)模型,采用VB 6.0這個(gè)可視化開發(fā)工具進(jìn)行編碼,最后完成主要的調(diào)試,仍有工作需要下一步完善。 桂林電子科技大學(xué)畢業(yè)論文 第2頁 共21頁2 開發(fā)工具介紹如果想編寫優(yōu)秀的聊天軟件,首先需要選擇好的編程工具。好的編程工具是成功的第一步。本文的聊天軟件就是在VB的環(huán)境中和Access數(shù)據(jù)庫相結(jié)合來實(shí)現(xiàn)軟件開發(fā)的。2.1 VB簡介Visual Basic是一個(gè)功能強(qiáng)大

22、的應(yīng)用程序開發(fā)工具,在世界范圍內(nèi)得到了廣泛的應(yīng)用。它之所以受到人們的青睞的主要原因有:Windows是當(dāng)今主流操作系統(tǒng),而Visual Basic是開發(fā)Windows應(yīng)用程序最簡單易學(xué)的語言之一;Visual Basic引入了面向?qū)ο蠛褪录?qū)動(dòng)的程序設(shè)計(jì)思想,大大縮短了應(yīng)用軟件的開發(fā)周期;Microsoft(微軟)公司十分重視Visual Basic的功能擴(kuò)充,不斷地把最新技術(shù)運(yùn)用到Visual Basic中,使之可以完成幾乎所有Windows應(yīng)用程序的開發(fā)任務(wù);已有越來越多的優(yōu)秀軟件支持用Visual Basic進(jìn)行二次開發(fā)2。2.1.1 可視化編程用傳統(tǒng)程序設(shè)計(jì)語言設(shè)計(jì)程序時(shí),都是通過編寫

23、程序代碼來設(shè)計(jì)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對界面的效果不滿意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作需要反復(fù)多次,大大影響了軟件開發(fā)效率。Visual Basic提供了可視化設(shè)計(jì)工具,把Windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來,開發(fā)人員不必為界面設(shè)計(jì)而編寫大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫出各種“部件”,即圖形對象,并設(shè)置這些圖形對象的屬性。Visual Basic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率,這就為開發(fā)聊天軟件提供了

24、便利。2.1.2 面向?qū)ο蟮某绦蛟O(shè)計(jì)開發(fā)聊天軟件至少要使用面向?qū)ο蟪绦蛘Z言。4.0版以后的Visual Basic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言(C+)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語言中,對象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而Visual Basic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP),把程序和數(shù)據(jù)封裝起來作為一個(gè)對象,并為每個(gè)對象賦予應(yīng)有的屬性,使對象成為實(shí)在的東西。在設(shè)計(jì)對象時(shí),不必編寫建立和描述每個(gè)對象的程序代碼,而是用工具畫在界面上,Visual Basic自動(dòng)生成對象的程序代碼并封裝起來,每個(gè)對象以圖形方式顯示在界面上,都是可視的3。2.1

25、.3 結(jié)構(gòu)化程序設(shè)計(jì)語言Visual Basic是在BASIC語言的基礎(chǔ)上發(fā)展起來的,具有高級程序設(shè)計(jì)語言的語句結(jié)構(gòu),接近于自然語言和人類的邏輯思維方式。Visual Basic語句簡單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。Visual Basic是解釋型語言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級語言分解翻譯成計(jì)算機(jī)可以識別的機(jī)器指令,并判斷每個(gè)語句的語法錯(cuò)誤。在設(shè)計(jì)Visual Basic程序的過程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)程序設(shè)計(jì)好之后,可以編譯生成可執(zhí)行文件(EXE),脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運(yùn)

26、行,直接方便了聊天軟件的運(yùn)行。2.1.4 事件驅(qū)動(dòng)編程機(jī)制Visual Basic通過事件來執(zhí)行對象的操作。一個(gè)對象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過一段程序來響應(yīng)。例如,命令按鈕是一個(gè)對象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊”(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來實(shí)現(xiàn)指定的操作。在用Visual Basic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過程。這些過程分別面向不同的對象,由用戶操作引發(fā)某個(gè)事件來驅(qū)動(dòng)完成某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過程來執(zhí)行指定的操作,這樣可以方便編程人員,提高效率。2.1.5 訪問數(shù)據(jù)

27、庫技術(shù)本聊天軟件使用了Access數(shù)據(jù)庫。Visual Basic具有強(qiáng)大的數(shù)據(jù)庫管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫管理窗口,可以直接建立或處理Microsoft Access格式的數(shù)據(jù)庫,并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。同時(shí),Visual Basic還能直接編輯和訪問其他外部數(shù)據(jù)庫,如DBase,FoxPro,Paradox等,這些數(shù)據(jù)庫格式都可以用Visual Basic編輯和處理。Visual Basic提供開放式數(shù)據(jù)連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網(wǎng)絡(luò)數(shù)據(jù)庫,如SQL Server,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)標(biāo)準(zhǔn),

28、直接訪問服務(wù)器上的數(shù)據(jù)庫,并提供了簡單的面向?qū)ο蟮膸觳僮髦噶詈投嘤脩魯?shù)據(jù)庫訪問的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫的SQL的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地實(shí)現(xiàn)客戶/服務(wù)器(Client/Server)方案4。2.1.6 動(dòng)態(tài)數(shù)據(jù)交換(DDE)利用動(dòng)態(tài)數(shù)據(jù)交換(Dynamic Data Exchange)技術(shù),可以把一種應(yīng)用程序中的數(shù)據(jù)動(dòng)態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。Visual Basic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動(dòng)態(tài)

29、數(shù)據(jù)交換,在不同的應(yīng)用程序之間進(jìn)行通信。2.1.7 對象的鏈接與嵌入(OLE)現(xiàn)在好多聊天軟件使用OLE技術(shù)。對象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看作是一個(gè)對象(object),將不同的對象鏈接(link)起來,再嵌入(embed)某個(gè)應(yīng)用程序中,從而可以得到具有聲音、影像、圖像、動(dòng)畫、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對象技術(shù)的戰(zhàn)略,它把多個(gè)應(yīng)用程序合為一體,將每個(gè)應(yīng)用程序看作是一個(gè)對象進(jìn)行鏈接和嵌入,是一種應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compound document),這種文檔由來自多個(gè)不同應(yīng)用程序的對象組成,文檔中

30、的每個(gè)對象都與原來的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來應(yīng)用程序完全相同的操作5。2.1.8 動(dòng)態(tài)鏈接庫(DLL)Visual Basic是一種高級程序設(shè)計(jì)語言,不具備低級語言的功能,對訪問機(jī)器硬件的操作不太容易實(shí)現(xiàn)。但它可以通過動(dòng)態(tài)鏈接庫技術(shù)將C/C+或匯編語言編寫的程序加入到Visual Basic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語言編寫的函數(shù)。此外,通過動(dòng)態(tài)鏈接庫,還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具有的功能6。2.2 Access簡介Access是Office辦公套件中一個(gè)極為重要的組成部分。剛開始時(shí)微軟公司是將Access單獨(dú)作為一個(gè)產(chǎn)品進(jìn)行銷售的,

31、后來微軟發(fā)現(xiàn)如果將Access捆綁在Office中一起發(fā)售,將帶來更加可觀的利潤,于是第一次將Access捆綁到Office97中,成為Office套件中的一個(gè)重要成員?,F(xiàn)在它已經(jīng)成為Office辦公套件中不可缺少的部件了。自從1992年開始銷售以來,Access 已經(jīng)賣出了超過6000萬份,現(xiàn)在它已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫管理系統(tǒng)。后來微軟公司通過大量地改進(jìn),將Access的新版本功能變得更加強(qiáng)大。不管是處理公司的客戶訂單數(shù)據(jù);管理自己的個(gè)人通訊錄;還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來解決大量數(shù)據(jù)的管理工作。除了成為 Web 上數(shù)據(jù)交換的標(biāo)準(zhǔn)技術(shù)外,擴(kuò)展標(biāo)記語言(XML)也

32、正迅速成為商務(wù)軟件應(yīng)用程序間交換數(shù)據(jù)時(shí)的首選技術(shù)方案。Microsoft Access 20XX 提供有功能強(qiáng)大而直觀的 XML 數(shù)據(jù)共享功能,而無須考慮平臺、數(shù)據(jù)格式、協(xié)議、架構(gòu)或商務(wù)規(guī)則之間的差異。利用熟悉的 Access 用戶界面,您可以方便地利用 Jet 或 SQL Server 結(jié)構(gòu)和數(shù)據(jù)創(chuàng)建 XML 數(shù)據(jù)或架構(gòu)文檔。同時(shí),還可使用來自窗體、報(bào)表和數(shù)據(jù)訪問頁中其他應(yīng)用程序的 XML 數(shù)據(jù)。例如,假設(shè)您的數(shù)據(jù)跨各種不同的源分布:包括內(nèi)部 SQL server、Excel 電子表格以及諸如 SAP 的其他數(shù)據(jù)提供程序。由于這些源將 XML 用作自己的數(shù)據(jù)交換格式,因此可以在 Access

33、 中創(chuàng)建一系列聚合查詢,以將該數(shù)據(jù)拉入視圖中,然后利用這些視圖設(shè)計(jì)窗體和報(bào)表。通過簡化架構(gòu)和樣式表的創(chuàng)建和應(yīng)用,Access 還提供了便于控制數(shù)據(jù)的方法。Access可通過一種標(biāo)準(zhǔn)一致的方式,便捷地描述豐富的結(jié)構(gòu)化XML數(shù)據(jù),同時(shí)也便于與其他應(yīng)用程序間實(shí)現(xiàn)數(shù)據(jù)傳輸。例如,可以使用Access創(chuàng)建描述數(shù)據(jù)結(jié)構(gòu)的架構(gòu),然后將該架構(gòu)發(fā)送給自己的供應(yīng)商,以便他們準(zhǔn)確了解您所期望的發(fā)票數(shù)據(jù)格式7。 桂林電子科技大學(xué)畢業(yè)論文 第14頁 共21頁3網(wǎng)絡(luò)通訊程序的設(shè)計(jì)原理和過程對網(wǎng)絡(luò)通訊程序的設(shè)計(jì)的原理和過程的透徹理解,是網(wǎng)絡(luò)通訊程序的前提。本章將簡要地介紹一下有關(guān)網(wǎng)絡(luò)通訊程序設(shè)計(jì)的基本知識。3.1 TCP/

34、IP協(xié)議TCP/IP是國際互聯(lián)網(wǎng)所采用進(jìn)行網(wǎng)際互連的通信協(xié)議。IP互連協(xié)議(Internet Protocol),負(fù)責(zé)主機(jī)之間的傳輸數(shù)據(jù)。TCP傳輸控制協(xié)議(Transmission Control Protocol),負(fù)責(zé)在應(yīng)用程序之間傳遞數(shù)據(jù)。實(shí)際所稱的TCP/IP協(xié)議包括了在國際互聯(lián)網(wǎng)上應(yīng)用的一組協(xié)議,互聯(lián)網(wǎng)協(xié)議組是此協(xié)議組的另一個(gè)名字。這個(gè)協(xié)議組包括幾種工作在不同層次上的網(wǎng)絡(luò)協(xié)議,UDP用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol),提供給用戶進(jìn)程的無連接協(xié)議,也負(fù)責(zé)在應(yīng)用程序之間無連接傳遞數(shù)據(jù),但不執(zhí)行正確性檢查。ICMP互連網(wǎng)控制報(bào)文協(xié)議(Internet Cont

35、rol Message Protocol),處理主機(jī)間的差錯(cuò)和傳送控制。ARPAdress解析協(xié)議(Address Resolution Protocol),負(fù)責(zé)將網(wǎng)絡(luò)層Adress轉(zhuǎn)換成鏈路層Adress。RARP反向Adress解析協(xié)議(Reverse Address Resolution Protocol),負(fù)責(zé)將鏈路層Adress轉(zhuǎn)換成網(wǎng)絡(luò)層Adress。TCP/IP協(xié)議的核心是傳輸層協(xié)議(TCP、UDP)、網(wǎng)絡(luò)層協(xié)議(IP)和物理接口層,這三層通常在操作系統(tǒng)的內(nèi)核中實(shí)現(xiàn)。TCP/IP網(wǎng)絡(luò)環(huán)境下的應(yīng)用程序設(shè)計(jì)是通過網(wǎng)絡(luò)系統(tǒng)編程界面Socket實(shí)現(xiàn)的,Socket提供應(yīng)用程序與系統(tǒng)內(nèi)核之

36、間的網(wǎng)絡(luò)編程接口。協(xié)議可以是可靠的可以是不可靠的。可靠的協(xié)議意味著當(dāng)數(shù)據(jù)通過協(xié)議傳遞時(shí),協(xié)議保證數(shù)據(jù)正確傳輸??煽總鬏敯◣讉€(gè)特征。首先,為了確保數(shù)據(jù)正確傳送,協(xié)議在通信應(yīng)用程序之間互相交換確認(rèn)信息。也就是說,程序每次發(fā)送個(gè)報(bào)文時(shí),都期望對方發(fā)送一個(gè)相當(dāng)于說:“我得到這個(gè)報(bào)文”的確認(rèn)信息。如果發(fā)送程序沒有收到這樣一個(gè)確認(rèn)信息,程序?qū)⒆詣?dòng)重新發(fā)送此報(bào)文,直到得到應(yīng)答信息為止。其次,為了確保傳輸?shù)臄?shù)據(jù)有效,可靠協(xié)議在每次傳輸時(shí),都包含一個(gè)或更多的校驗(yàn)和(CRC)。接收計(jì)算機(jī)重新計(jì)算校驗(yàn)和,與收到的校驗(yàn)和進(jìn)行比較。如果不匹配,就表明在傳輸過程中發(fā)生了錯(cuò)誤。傳輸控制協(xié)議TCP是一個(gè)使用校驗(yàn)和、確認(rèn)信息

37、以及其它可靠數(shù)據(jù)傳輸技術(shù)的可靠協(xié)議。相比之下,不可靠協(xié)議不能確保數(shù)據(jù)正確傳輸。協(xié)議試圖傳輸數(shù)據(jù),但不保證成功。而且,不可靠協(xié)議在傳輸失敗后,并不通知發(fā)送方應(yīng)用程序??蓪⒉豢煽繑?shù)據(jù)傳輸比作沒有返回Adress的信件。如果發(fā)送Adress是鍺誤的,由于郵遞系統(tǒng)不能將信退回給你,所以你就不知道信件有沒有送到。即使發(fā)送Adress是正確的,也不能保證郵遞系統(tǒng)不丟失你的信件8。TCPIP協(xié)議組中存在的兩個(gè)基本數(shù)據(jù)服務(wù)是:字節(jié)流服務(wù)和數(shù)據(jù)報(bào)服務(wù)。使用字節(jié)流的協(xié)議將信息看作一串字節(jié)流進(jìn)行傳輸。協(xié)議不管要求發(fā)送或接收數(shù)據(jù)的長度和傳送數(shù)目,只是將數(shù)據(jù)看作一個(gè)簡單的字節(jié)串流。使用數(shù)據(jù)報(bào)的協(xié)議將信息視作一個(gè)獨(dú)立單元

38、進(jìn)行傳輸。協(xié)議單獨(dú)發(fā)送每個(gè)數(shù)據(jù)報(bào)數(shù)據(jù)報(bào)之間不相互依賴。例如,假設(shè)你使用字節(jié)流協(xié)議發(fā)送5個(gè)數(shù)據(jù)段(每個(gè)有10字節(jié))和一個(gè)包含50字節(jié)的數(shù)據(jù)段(總共100字節(jié))。連接的接收方可以按每次20XX讀數(shù)據(jù)(要讀5次)。傳輸控制協(xié)議是字節(jié)流協(xié)議。字節(jié)流協(xié)議不關(guān)心每個(gè)數(shù)據(jù)段的長度。如果應(yīng)用程序使用字節(jié)流協(xié)議發(fā)送數(shù)據(jù),則協(xié)議能夠保證連接的另一端按照發(fā)送的順序接收數(shù)據(jù)。相比之下,傳輸?shù)酵荒康牡氐亩鄠€(gè)數(shù)據(jù)報(bào)可能不會(huì)按發(fā)送順序到達(dá)。如果接收方應(yīng)用程序要求數(shù)據(jù)順序一致,應(yīng)用程序必須在數(shù)據(jù)到達(dá)后,校對這些數(shù)據(jù)。用戶數(shù)據(jù)報(bào)協(xié)議和互連網(wǎng)協(xié)議使用數(shù)據(jù)報(bào)傳輸數(shù)據(jù)。數(shù)據(jù)報(bào)類似于信件。如果你在同一天給同一個(gè)人郵寄兩封信,你無法知

39、道那個(gè)人先收到那封信。同樣,如果連續(xù)兩天給兩個(gè)人郵信,你也不能知道哪封信先收到。收到信的順序和發(fā)送順序可能相反。在TCP/IP術(shù)語中,端口(Port)類似于IPAdress,IPAdress與主機(jī)Adress是相聯(lián)系的,端口和協(xié)議相聯(lián)系。IP數(shù)據(jù)報(bào)保存目的和源IPAdress,同樣傳輸協(xié)議也保存源和目的端口號。如果端口這個(gè)概念對你來說很陌生,請考慮計(jì)算機(jī)上的硬件端口。你可能編寫過往硬件端口送數(shù)據(jù)的程序。例如為了打印,如果沒有其它程序的話,必須向串或并端口發(fā)送數(shù)據(jù)。PC機(jī)給它的端口命名和編號。例如,PC機(jī)的并行打印端口稱為LPTl和LPT2,串行端口稱為COM1和COM2。在Internet上,

40、網(wǎng)絡(luò)只是簡單地對協(xié)議端口編號。在PC機(jī),LPT1表示并行端口1。成千個(gè)PC機(jī)應(yīng)用程序使用此方案。多年來,程序員編寫PC程序時(shí)都假定LPT1表示并行打印端口1。同樣,程序員將每個(gè)Internet協(xié)議端口與一個(gè)特定的應(yīng)用程序和功能聯(lián)系在一起。Internet包括像FTP、Telnet和Mail這樣廣泛使用的應(yīng)用程序采用的應(yīng)用協(xié)議,在Internet上,這些應(yīng)用程序使用一種叫做“通用口分配”的端口。通用口分配是特定應(yīng)用程序廣泛使用的一個(gè)協(xié)議端口。像PC程序員使用打印端口LPT1用于打印,Internet程序員也對具體應(yīng)用程序使用許多協(xié)議端口。例如,平凡文件傳輸協(xié)議(FTP)的通用口分配是端口號21的

41、。Telnet的通用口分配是端口號238。3.2 客戶機(jī)/服務(wù)器模型客戶機(jī)/服務(wù)器模型也是一種網(wǎng)絡(luò)模型,但與前述的模型不同,它并不是定義了網(wǎng)絡(luò)的層次結(jié)構(gòu),而是描述了一種網(wǎng)絡(luò)程序運(yùn)行的方式??蛻魴C(jī)/服務(wù)器模型將網(wǎng)絡(luò)應(yīng)用程序分為客戶和服務(wù)器兩部分??蛻舴綄Ψ?wù)器方發(fā)送信息請求,服務(wù)器方對其做出相應(yīng)回答,提供服務(wù)。在TCP/IP網(wǎng)絡(luò)應(yīng)用中,多數(shù)網(wǎng)絡(luò)應(yīng)用程序是使用客戶機(jī)/服務(wù)器模型設(shè)計(jì)的。服務(wù)程序通常在一個(gè)眾所周知的Adress監(jiān)聽對服務(wù)的請求,也就是說,服務(wù)進(jìn)程一直處于休眠狀態(tài),直到一個(gè)客戶程序提出了請求信息。此時(shí),服務(wù)程序被喚醒并且為客戶提供服務(wù),對客戶的請求做出適當(dāng)?shù)姆磻?yīng)。雖然基于連接的服務(wù)是設(shè)

42、計(jì)客戶/服務(wù)器應(yīng)用程序的標(biāo)準(zhǔn),但有些服務(wù)也是可以通過數(shù)據(jù)報(bào)Socket提供的。通常,網(wǎng)絡(luò)應(yīng)用程序包含兩個(gè)獨(dú)立的應(yīng)用程序:客戶程序和服務(wù)器程序。但是,也可以設(shè)計(jì)同時(shí)完成這兩種功能的程序,例如,一些服務(wù)器程序如果不能完成一個(gè)服務(wù)請求時(shí),它將轉(zhuǎn)而充當(dāng)客戶程序,向其它服務(wù)器程序請求信息。這方面的一個(gè)典型例子就是提供Internet從域名到IPAdress映射服務(wù)的DNS服務(wù)器。為了充分理解TCP/IP協(xié)議族,必須理解幾個(gè)重要術(shù)語。這些術(shù)語指出了兩個(gè)TCP/IP傳輸協(xié)議:用戶數(shù)據(jù)包協(xié)議(UDP)和傳輸控制協(xié)議(TCP)之間的區(qū)別。這些術(shù)語進(jìn)一步描述了與網(wǎng)絡(luò)連接、協(xié)議可靠性以及數(shù)據(jù)服務(wù)有關(guān)的協(xié)議特性。當(dāng)建

43、立服務(wù)器程序時(shí),應(yīng)該將服務(wù)器程序設(shè)計(jì)成等候客戶的請求。你知道,TCP傳輸層通過協(xié)議端口和應(yīng)用程序(像服務(wù)器和客戶)通信,也就是說,為了按收客戶請求,服務(wù)器程序必須對傳輸層的一個(gè)特定協(xié)議端口進(jìn)行偵聽。當(dāng)服務(wù)器配置socket接口時(shí),它使用bind()函數(shù)讓Socket執(zhí)行體登記一個(gè)協(xié)議端口。也就是說,程序告訴Socket執(zhí)行體使用哪一個(gè)協(xié)議端口進(jìn)行數(shù)據(jù)傳送。Socket執(zhí)行體接著告訴傳輸層某個(gè)特定協(xié)議端口已被使用,并將其收到的所有數(shù)據(jù)傳送給Socket API。使用無連接協(xié)議的程序和使用面向連接協(xié)議的服務(wù)器程序之間的主要相似之處是它們都必須對一個(gè)協(xié)議端口進(jìn)行偵聽。例如,無連接和連接服務(wù)器程序必須

44、在協(xié)議端口偵聽客戶請求。同樣,由于無連接客戶程序沒有和遠(yuǎn)地主機(jī)建立直接連接,所以它也必須對協(xié)議端口進(jìn)行偵聽,以便接收以對它服務(wù)請求產(chǎn)生的數(shù)據(jù)報(bào)應(yīng)答。Socket API中的bind()函數(shù)讓程序?qū)⒁粋€(gè)本地Adress(包括主機(jī)Adress和協(xié)議端口)和一個(gè)Socket聯(lián)系起來。下面程序行顯示了一個(gè)典型的函數(shù)調(diào)用:resultbind ( socket_handle, local_structure, socket_address, address_ length)無連接客戶程序也對一個(gè)協(xié)議端口進(jìn)行偵聽。使用無連接協(xié)議的程序不和遠(yuǎn)地主機(jī)建立直接連接。無連接客戶程序使用數(shù)據(jù)報(bào)發(fā)送網(wǎng)絡(luò)服務(wù)請求,它不

45、建立點(diǎn)到點(diǎn)連接。因此無連接客戶程序必須在一個(gè)協(xié)議端口,對應(yīng)答數(shù)據(jù)報(bào)進(jìn)行偵聽。與服務(wù)器程序一樣,無連接客戶程序也使用bind()函數(shù)讓Socket執(zhí)行體登記協(xié)議端口。也就是說,類似服務(wù)器程序,無連接客戶程序告訴Socket執(zhí)行體使用哪個(gè)協(xié)議端口進(jìn)行數(shù)據(jù)傳輸。Socket執(zhí)行體處理傳輸層內(nèi)UDP軟件模塊和客戶程序之間的接口9。圖31 無連接協(xié)議的套接字調(diào)用的時(shí)序圖圖32 面向連接的套接字系統(tǒng)調(diào)用時(shí)序圖3.3 本章小結(jié)本章詳細(xì)介紹了聊天軟件中重要的TCP/IP協(xié)議以及基于TCP/IP協(xié)議的客戶/服務(wù)器程序的設(shè)計(jì)。為下一步多功能聊天軟件的設(shè)計(jì)開發(fā)打好了通信方面的理論基礎(chǔ)。4 需求分析及開發(fā)方法4.1

46、需求分析一個(gè)聊天軟件應(yīng)提供基于TCP/IP網(wǎng)絡(luò)的即時(shí)消息傳送、消息廣播、實(shí)時(shí)聊天、文件傳輸?shù)裙δ堋A信e如下:1. 支持多賬號。2. 可以同時(shí)發(fā)送同一個(gè)消息給多人,通過輸入這些人的號碼列表或姓名列表。3. 可以同時(shí)發(fā)送一個(gè)消息給所有好友。4. 有權(quán)限的人可以向所有用戶發(fā)送“消息廣播”,便于消息的發(fā)布。5. 即使用戶不在線,也能通過服務(wù)器發(fā)送離線消息。6. 提供消息、聊天的歷史記錄,方便對信息的查看和管理。7. 提供查看在線的人的功能。8. 提供按ID或姓名查找用戶的功能,方便添加用戶。9. 小窗口顯示,不占用屏幕很大的空間。10. 支持熱鍵調(diào)出后臺的應(yīng)用程序。11. 應(yīng)用程序運(yùn)行后,在任務(wù)欄右邊

47、生成一個(gè)圖標(biāo),單擊彈出在線狀態(tài)菜單, 雙擊顯示應(yīng)用程序窗口,右擊彈出主菜單。12. 支持隱身登陸,可以看到在線的朋友,朋友卻不知道你上線了。13. 可以實(shí)時(shí)顯示用戶的狀態(tài)和隨時(shí)改變自己的狀態(tài)。14. 提供了自動(dòng)彈出消息。15. 好友上線通知。16. 好友下線更新17. 有權(quán)限的人可以發(fā)系統(tǒng)廣播(或在服務(wù)器上發(fā))18. 查看好友信息19. 按姓名或號碼查找某人20. 在好友列表中刪除某人21. 可以選擇在某人的好友中刪除自己22. 更改個(gè)人信息23. 系統(tǒng)設(shè)置24. 給在線好友傳文件25. 消息管理器26. 在程序中設(shè)定最大,最小窗口尺寸(寬度,高度)27. 主窗口總是浮在最上端28. 速度快,

48、占用資源少4.2 系統(tǒng)功能模塊根據(jù)上述聊天軟件的需求分析,并針對個(gè)人所掌握的知識和自己畢業(yè)設(shè)計(jì)時(shí)間的限制,要做到面面具到是不可能的。所以考慮到作為局域網(wǎng)(校園網(wǎng))聊天工具,終端用戶數(shù)量較少,本VB的多功能聊天軟件借鑒了QQ、聊天室等及時(shí)聊天工具,聊天信息采用服務(wù)器轉(zhuǎn)發(fā)方式,只要當(dāng)前在線的用戶都可以接收到,當(dāng)然,也實(shí)現(xiàn)了兩人之間的私聊功能。包括服務(wù)器程序和客戶端程序,服務(wù)器包括聊天信息即時(shí)轉(zhuǎn)發(fā),自動(dòng)關(guān)機(jī)的設(shè)置及記載,發(fā)送通知,數(shù)據(jù)庫備份還原及數(shù)據(jù)庫的初始化。客戶端具有登陸,注冊,修改個(gè)人信息,聊天等功能,功能比較簡單,可實(shí)現(xiàn)聊天功能。4.3 系統(tǒng)功能需求圖 VB聊天系統(tǒng)聊天記錄轉(zhuǎn)發(fā)發(fā)送通知關(guān)機(jī)設(shè)

49、置及記載登陸注冊聊天服務(wù)器端修改個(gè)人信息客戶端幫助和關(guān)于備份還原及初始化圖4-1 系統(tǒng)功能需求圖4.4 開發(fā)方法介紹目前比較成熟的信息系統(tǒng)開發(fā)方法有:生命周期法、原型法、面向?qū)ο蠓ǖ取I芷诜?把一個(gè)信息系統(tǒng)從其提出、分析、設(shè)計(jì)和使用,直到停止使用的整個(gè)生存期視為一個(gè)生命周期。整個(gè)生命周期劃分為五個(gè)主要工作階段:可行性分析階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計(jì)階段、系統(tǒng)實(shí)施階段和系統(tǒng)運(yùn)行、維護(hù)與評價(jià)階段。通常采用結(jié)構(gòu)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)方法,自上而下分析、設(shè)計(jì)、強(qiáng)調(diào)開發(fā)過程的整體性和全局性;開發(fā)過程在時(shí)間上基本按階段進(jìn)行,任務(wù)明確;結(jié)合用戶需求進(jìn)行開發(fā);開發(fā)周期長,維護(hù)不方便。適用于開發(fā)需求較明確固定

50、的信息系統(tǒng)。原型法:是系統(tǒng)開發(fā)者在初步了解用戶需求的基礎(chǔ)上,開發(fā)出能實(shí)現(xiàn)系統(tǒng)最基本功能的一個(gè)原型,再根據(jù)用戶對原型使用與評價(jià)的意見,提出修改方案,修改完善原型,如此反復(fù)多次,直到得到用戶滿意的最終系統(tǒng)為止。開發(fā)過程以用戶為中心,開發(fā)周期短。適用于開發(fā)需求不夠明確或不斷變化的軟件。面向?qū)ο蠓?以類,類的繼承,聚集等概念描述客觀事物以及聯(lián)系。為管理信息系統(tǒng)的開發(fā)提供了全新的思路,面向?qū)ο蠓椒ㄒ詫ο鬄橹行摹F涮卣髦饕心K性,繼承性和類比性,動(dòng)態(tài)連接性。其中原型法是近幾年發(fā)展起來的一種開發(fā)方法,該方法從一個(gè)初始信息要求的集合出發(fā),在發(fā)展中逐步完善信息系統(tǒng)。本VB多功能聊天軟件采用的是原型法。使用原型

51、法開發(fā)大體有以下幾個(gè)步驟:1確定系統(tǒng)需求。其中包括系統(tǒng)的應(yīng)用范圍、系統(tǒng)開發(fā)的經(jīng)費(fèi)估算等。2設(shè)計(jì)初始原型。包括確定需求和開發(fā)工作模型,例如屏幕格式、功能菜單、報(bào)表格式以及對關(guān)鍵數(shù)據(jù)和功能的說明等。3對初始原型進(jìn)行需求迭代,不斷進(jìn)行修正或改進(jìn),直至得到一個(gè)用戶滿意的原型,從而終止原型迭代過程。4如果需要,可寫出系統(tǒng)必要成分的嚴(yán)格、詳細(xì)的說明(如將需求轉(zhuǎn)化為報(bào)表)。5原型效果考察。考察用戶新加入的需求信息和組成成分的嚴(yán)格說明信息,看其對原型效果的影響,是否影響到原型的有效性,如果導(dǎo)致原型失敗,應(yīng)加以修正和改進(jìn)。原型法的生命周期提供了一種完整的、靈活的、近于動(dòng)態(tài)的需求定義技術(shù)。它綜合了所有提出的必要需

52、求,建立原型就近似于預(yù)先需求的規(guī)格說明。對應(yīng)于原型的工作模型可以進(jìn)行必要的剪裁和組織,以便更接近目標(biāo)系統(tǒng)。它可以綜合用戶、領(lǐng)導(dǎo)和原型開發(fā)人員的各方需求10。Yes指導(dǎo)可行性分析方法選擇?嚴(yán)格說明方法初步設(shè)計(jì)整理原型提供文檔識別基本要求開發(fā)工作模型模型驗(yàn)證細(xì)化說明?原型完成?修正和改進(jìn)原型效果好?嚴(yán)格說明YesNoYesYesNoNoNo圖4-2原型法工作流程圖 5 結(jié)論 第19頁 共21頁5 總體設(shè)計(jì)5.1 設(shè)計(jì)思想服務(wù)器端和客戶端需要分別設(shè)計(jì),其中客戶端除了主聊天界面外,還加上了登錄界面,以便以后擴(kuò)展。作為聊天室系統(tǒng),客戶端信息全部來自于服務(wù)器,服務(wù)器端應(yīng)能實(shí)時(shí)掌握所有客戶登錄、退出、對話情

53、況,并能實(shí)時(shí)轉(zhuǎn)發(fā)、廣播給相應(yīng)客戶。由于服務(wù)器要和多個(gè)客戶聯(lián)系,所以在設(shè)計(jì)中采用了Winsock控件數(shù)組的形式,其中下標(biāo)為 0 的元素作為監(jiān)聽控件,當(dāng)有客戶登錄、退出或者相互間發(fā)送消息時(shí),能正確接收并作相應(yīng)處理,其余控件數(shù)組元素當(dāng)有客戶連接時(shí)自動(dòng)裝入??蛻舳酥恍枰粋€(gè) Winsock控件,應(yīng)具有隨時(shí)連接、斷開服務(wù)器的功能,也應(yīng)具有對接收到的信息做出正確分析、處理的能力。在整個(gè)系統(tǒng)設(shè)計(jì)過程中,對客戶端和服務(wù)器端消息到達(dá)這一事件的設(shè)計(jì)和編碼是系統(tǒng)的關(guān)鍵。5.2 關(guān)鍵通信技術(shù)Winsock本系統(tǒng)的開發(fā)環(huán)境是VB 6.0 ,采用了面向網(wǎng)絡(luò)連接的Winsock控件。Winsock是不可見控件,控件文件名是M

54、SWINSCK.OCX,全稱為Microsoft Winsock Control,它能實(shí)現(xiàn)機(jī)器與機(jī)器間點(diǎn)對點(diǎn)的連接以及對話,使用時(shí)要將此控件調(diào)入工具箱。Winsock控件可以使用兩種協(xié)議:TCP協(xié)議和 UDP協(xié)議。使用TCP協(xié)議來實(shí)現(xiàn)服務(wù)器 - N 客戶模式。UDP可以實(shí)現(xiàn)點(diǎn)對點(diǎn)無服務(wù)器通訊,這里不作介紹。TCP協(xié)議即數(shù)據(jù)傳輸協(xié)議,允許創(chuàng)建和維護(hù)與遠(yuǎn)程計(jì)算機(jī)的連接,使彼此可以進(jìn)行數(shù)據(jù)傳輸。利用 TCP協(xié)議通訊必須分別建立客戶應(yīng)用程序和服務(wù)器應(yīng)用程序。在創(chuàng)建客戶應(yīng)用程序時(shí),必須知道服務(wù)器名或其 IPAdress(RemoteHost 屬性)及服務(wù)器進(jìn)行偵聽的端口(Re2motePort屬性) ,

55、然后調(diào)用 Connect 方法。創(chuàng)建服務(wù)器應(yīng)用程序時(shí) ,應(yīng)設(shè)置一個(gè)偵聽端口(LocalPort 屬性)并調(diào)用 listen 方法。當(dāng)客戶機(jī)需要連接時(shí)(connect),就會(huì)發(fā)生 ConnectionRe2quest 事件。為了完成連接,可以在 ConnectionRequest 事件中調(diào)用Accept 方法。建立連接后 ,任何一方計(jì)算機(jī)都可以發(fā)送、接收對方數(shù)據(jù)。如果要發(fā)送數(shù)據(jù),需調(diào)用 SendData 方法。當(dāng)接收到數(shù)據(jù)時(shí),會(huì)發(fā)生 DataArrival 事件,調(diào)用 DataArrival 事件中的 GetData方法就可以獲得對方傳送的數(shù)據(jù)11。Winsock控件屬性:Protocol 值為 sckTCPProtocol時(shí)使用 TCP/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論