版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C#編寫簡單的聊天程序編寫簡單的聊天程序引言引言這是一篇基于Socket進(jìn)行網(wǎng)絡(luò)編程的入門文章,我對于網(wǎng)絡(luò)編程的學(xué)習(xí)并不夠深入,這篇文章是對于自己知識的一個鞏固,同時希望能為初學(xué)的朋友提供一點參考。文章大體分為四個部分:程序的分析與設(shè)計、C#網(wǎng)絡(luò)編程基礎(chǔ)(篇外篇)、聊天程序的實現(xiàn)模式、程序?qū)崿F(xiàn)。程序的分析與設(shè)計程序的分析與設(shè)計1.1.明確程序功能明確程序功能如果大家現(xiàn)在已經(jīng)參加了工作,你的經(jīng)理或者老板告訴你,“小王,我需要你開發(fā)一個聊天
2、程序”。那么接下來該怎么做呢?你是不是在腦子里有個雛形,然后就直接打開VS2005開始設(shè)計窗體,編寫代碼了呢?在開始之前,我們首先需要進(jìn)行軟件的分析與設(shè)計。就拿本例來說,如果只有這么一句話“一個聊天程序”,恐怕現(xiàn)在大家對這個“聊天程序”的概念就很模糊,它可以是像QQ那樣的非常復(fù)雜的一個程序,也可以是很簡單的聊天程序;它可能只有在對方在線的時候才可以進(jìn)行聊天,也可能進(jìn)行留言;它可能每次將消息只能發(fā)往一個人,也可能允許發(fā)往多個人。它還可能有
3、一些高級功能,比如向?qū)Ψ絺魉臀募取K晕覀兪紫刃枰M(jìn)行分析,而不是一上手就開始做,而分析的第一步,就是搞清楚程序的功能是什么,它能夠做些什么。在這一步,我們的任務(wù)是了解程序需要做什么,而不是我們的任務(wù)是了解程序需要做什么,而不是如何去做。如何去做。了解程序需要做什么,我們可以從兩方面入手,接下來我們分別討論。1.11.1請求客戶提供更詳細(xì)信息請求客戶提供更詳細(xì)信息我們可以做的第一件事就是請求客戶提供更加詳細(xì)的信息。盡管你的經(jīng)理或老板是
4、你的上司,但在這個例子中,他就是你的客戶(當(dāng)然通常情況下,客戶是公司外部委托公司開發(fā)軟件的人或單位)。當(dāng)遇到上面這種情況,我們只有少得可憐的一條信息“一個聊天程序”,首先可以做的,就是請求客戶提供更加確切的信息。比如,你問經(jīng)理“對這個程序的功能能不能提供一些更具體的信息?”。他可能會像這樣回答:“哦,很簡單,可以登錄聊天程序,登錄的時候能夠通知其他在線用戶,然后與在線的用戶進(jìn)行對話,如果不想對話了,就注銷或者直接關(guān)閉,就這些吧。”有了上
5、面這段話,我們就又可以得出下面幾個需求:1.程序可以進(jìn)行登錄。通常一個用例對應(yīng)一個功能或者叫需求,它是程序的一個執(zhí)行路徑或者執(zhí)行流程。一個用例對應(yīng)一個功能或者叫需求,它是程序的一個執(zhí)行路徑或者執(zhí)行流程。編寫用例的思路是:假設(shè)你已經(jīng)有了這樣一個聊天程序,那么你應(yīng)該如何使用它?我們的使用步驟,就是一個用例。用例的特點就每次只針對程序的一個功能編寫,最后根據(jù)用例編寫代碼,最終完成程序的開發(fā)。我們這里的需求只有簡單的幾個:登錄,發(fā)送消息,接收消
6、息,注銷或關(guān)閉,上面的分析是對這幾點功能的一個明確。接下來我們首先編寫第一個用例:登錄。在開始之前,我們先明確一個概念:客戶端,服務(wù)端。因為這個程序只是在兩個人(機(jī)器)之間聊天,那么我們大致可以繪出這樣一個圖來:我們期望用戶A和用戶B進(jìn)行對話,那么我們就需要在它們之間建立起連接。盡管盡管“用戶用戶A”A”和“用戶用戶B”B”的地位是對等的,但按照約定俗稱的說法:我們將發(fā)起連接請求的的地位是對等的,但按照約定俗稱的說法:我們將發(fā)起連接請求
7、的一方稱為客戶端(或叫本地),另一端稱為服務(wù)端(或叫遠(yuǎn)程)一方稱為客戶端(或叫本地),另一端稱為服務(wù)端(或叫遠(yuǎn)程)。所以我們的登錄過程,我們的登錄過程,就是就是“用戶用戶A”A”連接到連接到“用戶用戶B”B”的過程,或者說客戶端(本地)連接到服務(wù)端(遠(yuǎn)程)的的過程,或者說客戶端(本地)連接到服務(wù)端(遠(yuǎn)程)的過程。過程。在分析這個程序的過程中,我們總是將其分為兩部分,一部分為發(fā)起連接、發(fā)送消息的一方(本地),一方為接受連接、接收消息的一方
8、(遠(yuǎn)程)。登錄和連接(本地)登錄和連接(本地)主路徑可選路徑1.打開應(yīng)用程序,顯示登錄窗口2.輸入用戶名3.點擊“登錄”按鈕,登錄成功3.“登錄”失敗如果用戶名為空,重新進(jìn)入第2步。4.顯示主窗口,顯示登錄的用戶名稱5.點擊“連接”,連接至遠(yuǎn)程6.連接成功6.1提示用戶,連接已經(jīng)成功。6.連接失敗6.1提示用戶,連接不成功5.在用戶界面變更控件狀態(tài)5.2連接為灰色,表示已經(jīng)連接5.3注銷為亮色,表示可以注銷5.4發(fā)送為亮色,表示可以發(fā)消
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c#基于tcp協(xié)議網(wǎng)絡(luò)聊天程序
- c#編寫web程序設(shè)計報告
- c#程序
- 畢業(yè)論文-c#聊天系統(tǒng)
- 基于socket的聊天室(c#版)
- c#程序結(jié)構(gòu)
- 基于c#聊天群的編程畢業(yè)論文
- c#編寫3d游戲框架示例
- 《c#程序設(shè)計基礎(chǔ)》習(xí)題庫程序
- c#小程序時鐘源碼
- 《c#程序設(shè)計基礎(chǔ)》習(xí)題庫程序
- c#語言程序設(shè)計解析
- 《c#程序設(shè)計》期末題庫
- c#程序的回歸測試選擇
- 學(xué)習(xí)使用c#為unity3d編寫腳本
- c#程序設(shè)計單元教學(xué)設(shè)計
- c#編寫簡易計算器(附源代碼)超詳細(xì)
- 聊天程序
- c#程序設(shè)計單元教學(xué)設(shè)計d
- c#小程序練習(xí)題及答案
評論
0/150
提交評論