freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

文件傳輸與聊天系統(tǒng)設計與實現(xiàn)計算機畢業(yè)設計論文-在線瀏覽

2025-01-26 16:24本頁面
  

【正文】 .......................................................................................................... 45 1 前言 文件傳輸與聊天系統(tǒng)的開發(fā)背景及選題意義 互聯(lián)網(wǎng)的普及和發(fā)展為人們的溝通提供了多種手段,近年來流行的即時通信是繼電子郵件之后的又一種主流通信方式。軟件功能完整,應有即時消息通信、文件傳輸?shù)然竟δ?,能支持的客戶端的個數(shù)不少于 254 個;軟件界面友好;可實現(xiàn) P2P 通信,也可通過服務器進行消息中轉; 至少能應用于局域網(wǎng)環(huán)境;應用數(shù)據(jù)庫對通信用戶及通信消息等進行管理;能實現(xiàn)查詢操作。本設計的重點在于整個系統(tǒng)的網(wǎng)絡設計,而服務器的網(wǎng)絡設計更為重要。 本設計的軟件開發(fā)基于 WINDOWS 平臺在 VC 上實現(xiàn);按照軟件工程的思想從需求分析著手,進行總體設計,詳細設計,編碼及調試等步驟; SOCKET 可以使用 API 也可以使用己有類;采用 CS 體系結構和 P2P 方式通信的思想進行軟件總體設計;撰寫用以保證通信安全的密碼算法,設計相關的密鑰管理方案。找畢業(yè)設計、項目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 文件傳輸與聊天系統(tǒng)設計 摘要 文件傳輸與聊天系統(tǒng)是當前非常熱門與流行的通訊軟件,它充分利用網(wǎng)絡這樣的大平臺增強了人們之間的溝通交流。本設計應用 SOCKET 技術在 WINDOWS 平臺上實現(xiàn)文件傳輸與聊天系統(tǒng)。 本設計使用軟件工程化的設計流程開發(fā)整個軟件,從需求分析到詳細設計以及代碼的編制和最終的測試都會得到完整的實現(xiàn)。 本設計最終給出了構建文件傳輸與聊天系統(tǒng)的網(wǎng)絡層次結構并實現(xiàn)了整個系統(tǒng)的源代碼和生成了可執(zhí)行文件。 關鍵詞 : 文件傳輸與聊天系統(tǒng), Socket 編程,聊天,通信,安全。 以色列 Mirablils 公司 1996 年 11 月推出了世界上第一個即時通信軟件,即后來風靡全球的 網(wǎng)絡尋呼機 ICQ,宣告了 即時通信 這一概念的誕生。 在 ICQ 取得巨大成功之后,許多公司紛紛效仿,如美國 AOL 公 司的 Instant Messenger, Yahoo 公司的 Yahoo Messenger 等。在我國,深圳騰訊公司 1999 年 2 月推出了騰訊 。 ICQ 公司號稱建立了世界上最大的網(wǎng)絡用戶群,擁有 12 億注冊用戶遍布全球。 在技術層面上,即時通信系統(tǒng)也從最早的專用即時通信工具發(fā)展到了最新的XML 網(wǎng)站集成服務。 短短幾年間,即時通信系統(tǒng)迅猛發(fā)展,商業(yè)產(chǎn)品層出不窮,用戶遍布世界各地,技術日新月異。目前,它又通過集成其他媒體、拓展應用模式等方式繼續(xù)發(fā)展壯大,進軍電子商務、計算機協(xié)同工作等更廣闊的天地。 本設計將最主要研究在這類即時通訊軟件的 開發(fā)中是如何運用 SOCKET 套接字編程技術來實現(xiàn)通訊交流。其中通信部分軟件的設計與開發(fā)是本設計的重點。 文件傳輸與聊天系統(tǒng)的發(fā)展現(xiàn)狀 現(xiàn)在國內面向個人的即時通信產(chǎn)品主要有騰訊 、微軟 MSN、網(wǎng)易泡泡、 ICQ、雅虎通以及發(fā)展勢頭正猛的 TOM- skype 等。 雖然即時通信業(yè)務已日益成熟,但目前各類即時通信軟件及服務都存在不少缺陷,需要改進: ( 1)安全性問題。 、 MSN 就相繼遭受過病毒的侵襲以及由網(wǎng)絡故障帶來的穩(wěn)定性問題。 ( 2)互聯(lián)互通問題。隨著即時通信企業(yè)用戶規(guī)模的進一步擴大,如何將不同的即時通信工具實現(xiàn)互聯(lián),以實現(xiàn)跨不同即 時通信系統(tǒng)的即時通信就成了不可回避的話題。市場上的幾大即時通信工具,它們在服務功能、市場定位和目標市場選擇上都基本雷同,缺乏特色。 本論文的組織結構 第 1 章是前言,主要介紹文件傳輸與聊天系統(tǒng)的背景、選題的意義以及本論文的組織結構。第 3 章和第 4 章是文件傳輸與聊天系統(tǒng)系統(tǒng)分析及網(wǎng)絡設計,主要詳細的介紹開發(fā)即時通信軟件網(wǎng)絡設計的全過程,包括消息格式的設計,應用層協(xié)議的分析,以及相關網(wǎng)絡通信類的描述,是本論文的重點。最后的部分是結論、參考文獻、致謝以及附錄。 OSI 參考模型( OSI/RM)的全稱是開放系統(tǒng)互連參考模型( Open System Interconnection Reference Model, OSI/RM),它是由國際標準化組織( International Standard Organization, ISO)提出的一個網(wǎng)絡系統(tǒng)互連模型。 TCP/IP 參考模型分為 四個層次:應用層、傳輸層、網(wǎng)絡互連層和主機到網(wǎng)絡層 ( 數(shù)據(jù)鏈路層 )。同時將 OSI 參考模型中的數(shù)據(jù)鏈路層和物理層合并為主機到網(wǎng)絡層。 很多高級應用協(xié)議都是在這個層次實現(xiàn)的,在基于 TCP協(xié)議中,比 如文件傳輸協(xié)議 FTP( File Transfer Protocol)、 簡單郵件傳輸協(xié)議SMTP(Simpel Mail Translate Protocol)、超文本鏈接協(xié)議 HTTP(Hyper Text Transfer Protocol);基于 UDP 協(xié)議中,比如 域名系統(tǒng) DNS(Demain Name System), 簡單文件傳輸協(xié)議 TFTP(Trivial File Transfer Protocol)等。 TCP 協(xié)議提供了一種面向連接的、可靠的字節(jié)流服務。這一過程與打電話很相似,先是撥號振鈴,等待對方接電話后,然后再進行說話交流。 與 TCP 不同, UDP 是一種簡單的無連接的面向數(shù)據(jù)報的傳輸層協(xié)議,它是不可靠的,它把應用程序傳給 IP 層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地,使用 UDP 協(xié)議的場合與 TCP 是不一樣的,或許正因為它的無連接性使得 UDP找畢業(yè)設計、項目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 第 7 頁 共 45 頁 傳輸?shù)男屎芨?,這也是為什么即使它的可靠性不高但是依然存在的理由。 Socket 套接字編程 Socket 套接字簡介 網(wǎng)絡程序設計全靠套接字( SOCKET)接收和發(fā)送信息。套接字實質上提供了進程通信的端點。 套接字是面向客戶 — 服務器模型設計,針對客戶和服務器提供不同的套接字操作。流式套接字可以提供可靠的、面向連接的通信流,對應于 TCP 協(xié)議。數(shù)據(jù)報套接字定義了一種無連接的服務,對應于 UDP 協(xié)議。原始套接字允許對底層協(xié)議如IP 和 ICMP 直接訪問,主要用于新的網(wǎng)絡協(xié)議的開發(fā)實現(xiàn)和測試等,它工作在網(wǎng)絡互連層,對程序員的要求比較高。 Socket 函數(shù)以及 TCP 客戶機 /服務器模型 下面是傳統(tǒng)的 Socket 函數(shù)接口,這些函數(shù)已經(jīng)足夠編制出功能強大的網(wǎng)絡應用程序了。 int listen(int sockfd, int backlog)。 int send(int sockfd,void *buf,int len,int flags)。 int sendto(int sockfd,const void *msg,int len,unsigned int flags, struct sockaddr *to, int tolen)。 傳統(tǒng)的 socket 套接字函數(shù)是編寫網(wǎng)絡程序的基礎,即便是使用 MFC 中的CSocket 類來進行網(wǎng)絡編程,對底層 Socket API 的了解也是非常有益的。 ① 創(chuàng)建一個套接字 創(chuàng)建套接字一般分為兩 個步驟。 nSocketPort 為套 接字指定一個端口,若是服務器套接字,那么應該為其指定一個端口。 nSocketType 指定套接字的類型。 lEvent 用于指定要生成的事件通知。 ② 建立與服務器的連接 客戶套接字可以使用 CAsyncSocket 的 Connect 函數(shù)創(chuàng)建與服務器的連接。失敗時可以調用 GetLastError 函數(shù)獲得錯誤信息。 BOOL Connect( const SOCKADDR* lpSockAddr, int nSockAddrLen )。 nHostPort 為應用程序套接字的主機端口號。 nSockAddrLen 為套接字地址長度。 Accept 函數(shù)原型: virtual BOOL Accept( CAsyncSocketamp。 rConnectedSocket 為當來了一個新的連接的時候所給的一個套接字的引用,以后就可以用這個新的套接字進行通信。 lpSockAddrLen 為接收到的客戶機地址的長度的指針。 ⑤ 重載函數(shù) CAsyncSocket 是異步模式,因此在進行一些處理的時候比如監(jiān)聽 (Listen)或接收 (Accept)時它不會阻塞后面的操作而是直接返回,為了能夠處理相關事件必須要重載 CAsyncSocket 的 相關函數(shù)。 ////當有接收事件發(fā)生時調用該函數(shù) virtual void OnReceive(int nErrorCode)。////當客戶端關閉套接字的時候調用該函數(shù) 在客戶端一般會重載以下函數(shù): virtual void OnClose(int nErrorCode)。///當連接到服務器的時候調用該函數(shù) virtual void OnReceive(int nErrorCode)。 找畢業(yè)設計、項目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 第 12 頁 共 45 頁 3 文件傳輸與聊天系統(tǒng)系統(tǒng) 分析 文件傳輸與聊天系統(tǒng)的開發(fā)概要 開發(fā)目的以及內容要求 熟悉即時通信軟件的應用環(huán)境及背景,熟悉即時通信軟件的常用開發(fā)技術,主要是網(wǎng)絡技術, SOCKET 編程技術,網(wǎng)絡數(shù)據(jù)庫技術,以及網(wǎng)絡安全技術。采用 CS 體系結構和 P2P 方式通信的思想進行軟件總體設計;撰寫用以保證通信安全的密碼算法,設計 相關的密鑰管理方案。 應用數(shù)據(jù)庫對通信用戶及通信消息、活動日志等進行管理;能實現(xiàn)查詢操作;對傳輸活動及消息進行加密管理,采用的算法應是國際上著名的算法,算法實現(xiàn)可以利用已有的 API 函數(shù),借鑒現(xiàn)有成熟的代碼,也可以自主完成;有完整的無明顯漏洞的密鑰管理方案及實現(xiàn)。用戶只有通過注冊的方式才可以與其他注冊的用戶進行信息的交流。用戶唯一的標志是服務器提供的用戶號碼,當且僅當用戶提出注冊請求的時候,服務器才根據(jù)數(shù)據(jù)庫中的信息提供新的用戶一個用戶號碼,用戶通過號碼和個人密碼進行后續(xù)的登陸操作。用戶只有通過登陸的方式才可以進入主界面獲取其好友列表,然后才可以進行信息的交 流和其他操作。用戶的找畢業(yè)設計、項目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 第 13 頁 共 45 頁 登陸應該是安全的,號碼和密碼信息都傳輸?shù)椒掌鞯倪^程中會經(jīng)過動態(tài)加密,即時是同一個用戶在同一地點進行多次登陸的時候,在網(wǎng)絡傳輸?shù)牡顷懴嚓P信息也不是相同的,這才可以保證登陸的最大化安全。不但可以添加在線的好友對于不在線的好友也可以發(fā)出添加好友的請求,服務器 應該根據(jù)不同的用戶的狀態(tài)進行不同處理,當用戶不在線的時候,應該將添加好友的請求信息保存在服務器的數(shù)據(jù)庫中,以便當被添加者上線的時候將該添加請求發(fā)送出去。添加好友是個雙向過程,當一方添加成功了另一方的時候,兩者都需要在自己的好友列表中添加一個好友信息。當用戶向服務器提出刪除好友的請求后,服務器需要進行數(shù)據(jù)庫的處理以便刪除好友的記錄在用戶的信息里面得到更新,同時也需要通知被刪除者被刪除的過程。這和添加好友是一致的。具體表現(xiàn)為當一方客戶需要向另一發(fā)客戶發(fā)送消息的時候,只需要在好友列表中選擇該好友,繼而在彈出的對話框中輸入通信內容,點擊發(fā)送按鈕后該消息將通過服務器的中轉轉發(fā)到接收方的客戶端并彈出消息聊天對話框進行顯示。 ⑹ 文件傳輸功能 這個也是基本功能之一。一方用戶 A 點擊文件傳輸?shù)倪x項繼而選擇要傳輸?shù)奈募?,此時在該用戶實際已經(jīng)建立起一個 TCP 監(jiān)聽套接字,在另一方的客戶 B 將接收到對于文件傳輸?shù)慕邮照埱?,同意或者拒絕接收文件。文件的傳輸是分段處理的因為對于大找畢業(yè)設計、項目源碼、編程視頻,就上碼農(nóng)網(wǎng) manong365 第 14 頁 共 45 頁 文件來說一定要進行分段分割的傳輸。某用戶可以查詢到當前在線的用戶以及指定信息的用戶。當然還可以通過昵稱、國家、地區(qū)、年齡、性別等信息進行模糊查詢。當個人用戶需要修改自己的某個資料時,比如自己的密碼,自己的昵稱等,用戶將修改好的信息傳送給服務器,服務器根據(jù)相關信息進行數(shù)據(jù)庫的修改將該用戶的資料更新。對于某個好友,客戶端向服務器發(fā)送查看該好友信息的請求,服務器操作數(shù)據(jù)庫提取相關信息然后傳送給客戶端。 ⑽ 服務器的日志記錄功能 對于每個客戶的活動,比如注冊,登陸,上線時間等服務器都會進行日志的記錄,以便于服務器的管理。 ⑿ 服務器網(wǎng)絡處理 該功能是整個文件傳輸與聊天系統(tǒng)的核心。 附加功能描述 ⑴ 用戶狀態(tài)改變功能 用戶可以改變自己的狀態(tài),比如在線,隱身,忙碌,離線等。 ⑵ 用戶退出客戶端程序的功能 當用戶選擇退出客戶端軟件的時候,該客戶需要通知服務器下線通知,以便服務器能了解該用戶的 狀態(tài)信息,同時進行相關的數(shù)據(jù)庫處理。 ⑶ 用戶保持在線的激活功能 該功能表示用戶和服務器在一定的時候內需要進行互相的激活,以便服務器能夠準確的知道某個用戶還在線。服務器將定時給在線用戶發(fā)送激活消息,在一定時間內用戶若沒有應答,即做出該用戶已經(jīng)下線的判斷,并做出相關的處
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1