999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

即時通訊軟件設計與實現

2018-03-22 12:53:26王小瓊陳得友
魅力中國 2018年40期

王小瓊 陳得友

摘要:當前中國的互聯網技術已經進入了一個飛速發展的時期,即時通訊成為了網絡通信工具的主流。本論文就是模擬QQ聊天軟件,開發一個包括文字聊天、文件傳輸等功能的聊天軟件。系統采用C/S架構,基于.NET平臺開發。由服務器端和客戶端程序組成,采用TCP/IP通信協議,使用XML對通信報文進行封裝,便于應用程序API調用,組裝,解析XML報文。主要完成文字聊天、文件傳輸、服務器模塊的設計任務。通過運行、測試與分析,該多功能聊天軟件運行穩定、可靠,具有一定的實用價值。

關鍵詞:聊天軟件;文字聊天;文件傳輸;C#;XML

一、研究的意義

21世紀是信息的時代,隨著互聯網技術的發展,信息在傳遞方面也有了嶄新的一面。現今聊天軟件成為信息傳遞最為廣泛的應用工具,它發揮了即時性通信的特點,可以讓用戶在第一時間內得到信息的交流,它不僅可以讓用戶進行文字聊天,而且還增添語音、視頻功能。這樣可以讓網上的好友身臨其境的面對面的聊天,讓彼此之間更為深入的了解。人性化的設計讓每個用戶都可以得心應手的使用,從而獲得更多人的青睞。Internet的出現連通了整個世界,而聊天軟件的出現則連通了每一位網上的用戶。

二、需求分析

此次開發的網絡聊天工具可作為企業局域網的交流工具使用,通信的安全性不是很高,但要求信息的響應速度要較快,讓用戶充分享受到網絡即時消息的方便和快捷。本聊天工具由服務器端程序和客戶端程序兩部分組成,整體采用.NET平臺開發,采用TCP/IP通信協議,使用XML對通信報文進行封裝,以便于應用程序API調用,組裝和解析XML報文。服務器是可以進行監聽,記錄客戶端請求和驗證客戶端身份的合法性,并提供XML消息中轉服務;客戶端程序面向實際用戶,它有必要的界面的按鈕,向用戶提供網絡即時消息的功能。

三、總體設計

(一)多線程設計

服務器需要和多個客戶端同時進行通信,這就是服務器端的多線程。一旦服務器發現一個新的客戶端與之建立了連接,就馬上新建一個線程與客戶端進行通信。用多線程的好處在于可以同時處理多個通信連接,不會出于由于數據排隊而發生的延遲或者丟失,可以很好利用系統的性能。

客戶端能夠完成信息的接收和發送操作,這與服務器的多線程概念不同,可以采用循環等待的方法來實現客戶端。利用循環等待的方式,客戶端首先接收用戶輸入的內容并將它們發送到服務器端,然后接收來自服務器端的信息,將其返回給客戶端的用戶。

(二)數據庫的設計

本設計模擬的企業局域網架構,所以數據庫表主要用來存放部門信息和用戶的注冊信息,可利用兩張表來分別存放部門信息和用戶信息,用戶可通過服務器來查看在線用戶的個人信息。

(三)服務器的設計

主服務器實現了服務器的多線程,服務器端有一個進程(或多個進程)在指定的端口等待客戶的連接信息。一時連接成功,就可以按設計的數據交換方法和格式進行數據傳輸。客戶端只在需要的時候向服務端發出連接請求。

登陸認證服務是對試圖登陸的客戶端進行權限驗證。驗證過程為:服務器獲得客戶端發送來的用戶名和密碼,然后查詢數據庫的相應的用戶列表,如果該用戶不存在或用戶名與密碼不匹配服務器將驗證失敗的結果通過XMPP協議發還給客戶端,驗證過程終止。如果驗證通過,登陸驗證服務會將表中的用戶狀態由離線變為在線,然后將驗證成功的結果發還給客戶端。

(四)客戶端的設計

用戶完成登錄后, 客戶端與服務器端建立連接。連接建立成功后,客戶向服務器請求讀取好友名單;服務器收到該請求,開始從數據庫讀取好友資料,向客戶端發送這些信息;客戶收到服務器消息后,在主窗口顯示好友。

客戶可以在客戶端查看好友信息,客戶端向服務器發送查詢好友信息的請求,然后服務器查詢數據庫,接著將查詢得到的結果組合成XMPP協議的XML流返回給客戶端。

(五)文本通信功能設計

一對一:在本設計中文本通信功能采用由服務器中轉,考慮到客戶在登陸系統時就跟服務器建立了TCP連接,而且在整個系統使用中客戶與服務器之間除了一些必要的控制信息及好友查詢等信息要進行通信外,TCP連接是處于空閑狀態的,所以可以利用服務器中轉完成客戶間的文本通信。

一對多:此功能用于會議室聊天,具有一個會議室的建立,會議室屬性的設定等。一個用戶建立會議室后,服務器向所有在線用戶發送此會議室的信息,其他用戶就可以在主界面看到此會議室的消息, 只要知道此會議室的密碼,便能加入此會議室聊天。

(六)文件傳輸

本設計中,文件傳輸采用的是P2P通信。P2P通信的特點是通信的雙方通信前借助XMPP服務器建立TCP連接,之后雙方就進行與服務器無關的點對點通信,直到通信結束。整個過程中,服務器只起了一個輔助與管理作用,真正的數據通信與服務器無關。

四、結論

本論文所設計的即時通訊客戶系統,主要功能是能夠完成服務器與客戶端之間的連接,并完成客戶端用戶之間的即時通訊,軟件主要包括以下幾個功能:用戶登錄和注冊管理;好友信息查詢;即時文本消息的互相傳送(一對一文本傳輸和一對多文本傳輸);文件的點對點傳輸等。

在完成這些功能的同時,本文主要解決了一下幾個方面的關鍵問題:系統采用了傳統的客戶端、服務器網絡組織模式,并且設計了基于中心服務器模式的P2P客戶端,在客戶端與服務器建立連接完成以后,通訊在用戶與好友間直接點到點的連接與通信,從而大大減輕了服務器端得負荷,也保證了可靠的文件傳輸機制,客戶端的設計中還采用服務器連接中轉的方案進行文本消息的傳送。

參考文獻:

[1] 張青,郭亞萍.C#編程思想與實踐[M].北京:冶金工業出版社,2005

[2] 陳明.實用軟件工程基礎[M].北京:清華大學出版社,2002

[3] 黃德志,湯慶恩.C#程序設計實用教程[M].北京:冶金工業出版社,2002

[4] 王敏.C#線程參考手冊[M].北京:清華大學出版社,2003

作者簡介:王小瓊(1981-),女,碩士研究生,研究方向:軟件工程。

陳得友(1979-),男(漢族),河南信陽人,大學本科,副教授,主要研究領域為軟件技術、高等教育。

主站蜘蛛池模板: 久久99国产综合精品女同| 日韩二区三区无| 亚洲有码在线播放| 女同国产精品一区二区| 国产日韩AV高潮在线| 国产精品久久久久无码网站| 第一区免费在线观看| 国产呦视频免费视频在线观看| 五月婷婷导航| 欧美人人干| 欧美日韩国产成人高清视频 | 99视频精品全国免费品| 草草影院国产第一页| 国产av一码二码三码无码| 日韩AV手机在线观看蜜芽| 视频在线观看一区二区| 91小视频版在线观看www| 日本不卡在线播放| 亚洲色图综合在线| 久久国产精品嫖妓| 天天视频在线91频| 在线欧美一区| 国产手机在线ΑⅤ片无码观看| 99久久精品免费观看国产| 天堂久久久久久中文字幕| 丁香五月婷婷激情基地| 亚洲国产日韩欧美在线| 欧美日韩一区二区在线播放 | 制服丝袜亚洲| 毛片基地美国正在播放亚洲 | 国产精品林美惠子在线观看| 人妻无码AⅤ中文字| 国产视频只有无码精品| 国产永久免费视频m3u8| 久久国产精品电影| 国产大片喷水在线在线视频| 伊人久久综在合线亚洲91| 亚洲成人网在线播放| 亚洲伊人天堂| 丝袜美女被出水视频一区| 夜夜爽免费视频| 亚洲美女高潮久久久久久久| 久久精品无码国产一区二区三区| 人妻21p大胆| 国产成人a毛片在线| 四虎国产精品永久在线网址| 日韩天堂在线观看| 国产欧美精品午夜在线播放| 国产精品私拍在线爆乳| 国产伦精品一区二区三区视频优播| 国产手机在线观看| 538国产视频| 伊人久久精品亚洲午夜| 亚洲欧美综合另类图片小说区| 欧美激情综合| 美女无遮挡拍拍拍免费视频| 亚洲国产综合自在线另类| 日韩精品一区二区三区免费在线观看| 国内熟女少妇一线天| 97精品久久久大香线焦| 婷婷综合缴情亚洲五月伊| 国产欧美高清| 欧洲亚洲欧美国产日本高清| 久久国产精品麻豆系列| 青青草91视频| 999精品色在线观看| 一区二区三区在线不卡免费| 99久久99这里只有免费的精品| 久久婷婷色综合老司机| 强奷白丝美女在线观看| 国产区在线看| 在线观看免费人成视频色快速| 在线播放91| 超薄丝袜足j国产在线视频| 国产99在线| 色婷婷亚洲综合五月| 亚洲精品国产首次亮相| 久久久久久尹人网香蕉 | 在线精品亚洲一区二区古装| 国产精品手机在线观看你懂的| 日本少妇又色又爽又高潮| 成人毛片免费观看|