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

正文內(nèi)容

畢業(yè)論文--基于java的android即時(shí)通訊軟件(文件)

 

【正文】 不同的任務(wù)。 Client/Server 。TCP/IP 目 錄 1 緒論 ................................................................................................................. 錯(cuò)誤 !未定義書(shū)簽。 1 緒論 國(guó)內(nèi)外即時(shí)通訊 系統(tǒng)的研究現(xiàn)狀 目前國(guó)內(nèi)外做 即時(shí)通訊軟件 的公司很多,產(chǎn)品也琳瑯滿目,國(guó)內(nèi)有諸如騰訊、新浪 UC、網(wǎng)易泡泡等,國(guó)外有著名的 MSN(新版改名為 Live Messenger)以及跨平臺(tái) Gaim 等。 參考了許多網(wǎng)絡(luò)上的資料,以及自己通過(guò)觀察騰訊 運(yùn)行時(shí)的各種細(xì)節(jié)。 其模型如圖 12 圖 12 MSN 服務(wù)器 客戶端模型 2 騰訊使用的模型中,服務(wù)器主要處理客戶端各種狀態(tài)的控制,可以極大減輕服務(wù)器的處理壓力,但其內(nèi)部協(xié)議和實(shí)現(xiàn)復(fù)雜度都較高 。當(dāng)時(shí) Sun Microsystem 公司為了發(fā)展消費(fèi)類(lèi)電子產(chǎn)品進(jìn)行了一個(gè)名為 Green 的項(xiàng)目計(jì)劃。尤其在內(nèi)存管理方面, c++采用直接地址訪問(wèn)方式。 為了解決此類(lèi)問(wèn)題, Gosling 決定開(kāi)發(fā)一種新的語(yǔ)言,并 取名為 Oak。 1. 簡(jiǎn)單性 Java 語(yǔ)言簡(jiǎn)單高校,基本 Java 系統(tǒng)(編譯器和解釋器)所占空間不足 250KB由于 Java 最初是為了對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的,因而具備簡(jiǎn)單命 了的特征。 3. 安全性 Java 是可以用在網(wǎng)路及分布環(huán)境下的網(wǎng)路程序設(shè)計(jì)語(yǔ)言。 Java 源程序經(jīng)過(guò)編譯后生成字節(jié)碼文件,而字節(jié)碼與具體的計(jì)算機(jī)無(wú)關(guān)。 Java 的字節(jié)碼需要經(jīng)過(guò) Java 虛擬機(jī) JVM 解釋成機(jī) 器碼才能執(zhí)行,所以速度上較慢。 IP 地址 :TCP/IP 網(wǎng)絡(luò)中的每臺(tái)計(jì)算機(jī)都有唯一的地址 IP 地址 . 在 Java 中 ,有一個(gè)用來(lái)存儲(chǔ) inter 地址的類(lèi)叫 InterAddress. Java 提供的網(wǎng)絡(luò)功能有三大類(lèi) : URL, Socket, Datagram. URL 是三大功能中最高級(jí)的一種 ,通過(guò) URL Java 程序可以直接送出或讀入網(wǎng)絡(luò)上的數(shù)據(jù) . Socket 是傳統(tǒng)網(wǎng)絡(luò)程序最常用的方式 ,可以想象為兩個(gè)不同的程序通過(guò)網(wǎng)絡(luò)的通信信道 . Datagram 是更低級(jí)的網(wǎng)絡(luò)傳輸方式 ,它把數(shù)據(jù)的目的紀(jì)錄在數(shù)據(jù)包中 ,然后 直接放在網(wǎng)絡(luò)上 Socket 編程 關(guān)于 TCP/IP 協(xié)議 TCP 協(xié)議是網(wǎng)絡(luò)通信的基石,對(duì)此, Java 專(zhuān)門(mén)提供了 Socket 的類(lèi)庫(kù),在其中抽象出 TCP 協(xié)議通信的常用方法: TCP 協(xié)議與三次握手: 在講述 TCP 協(xié)議流程前,先來(lái)聲明兩個(gè)重要的概念: ( 1)客戶端,首先發(fā)送 TCP 請(qǐng)求的是客戶端,客戶端一般是服務(wù)(比如數(shù)據(jù)查詢(xún)服務(wù))的請(qǐng)求者。如果服務(wù)器收到 SYN 標(biāo)記,它將發(fā)回一個(gè)“ SYN+ACK”數(shù)據(jù)包。 主機(jī) A 主機(jī) B 圖 13 三次握手協(xié)議 由此可見(jiàn),通過(guò)客戶端和服務(wù)器的“三次握手”,雙方可以建立暢通的通信ACK=1 第一次握手,主機(jī) A 向主機(jī) B 發(fā)送連接請(qǐng)求 第二次握手,主機(jī) B 收到主機(jī) A的請(qǐng)求,向主機(jī) A回發(fā)一個(gè)確認(rèn),同時(shí)向主機(jī) A 發(fā)送一個(gè)連接請(qǐng)求 第三次握手,主機(jī) A 收到主機(jī) B 發(fā)送的數(shù)據(jù)包在向主機(jī) B 發(fā)送一個(gè)確認(rèn)連接 SYN=1,SEQ= ACK=1,SYN=1,SEQ= aaaaaaaaaa 信道,在此信道上雙方互相傳輸數(shù)據(jù)。它們之間的區(qū)別只有在客戶機(jī)試圖同服務(wù)器連接的時(shí)候才顯得非常明顯。一旦連接建好,那么無(wú)論在服務(wù)器端還是客戶機(jī)端,連接只是魔術(shù)般地變成了一個(gè) IO 數(shù)據(jù)流對(duì)象。 圖 14 服務(wù)器和客戶機(jī)的連接 本文內(nèi)容安排 本論文內(nèi)容安排如下: 第二章為聊天系統(tǒng)的需求分析,主要介紹系統(tǒng)的可行性研究,需求分析流程圖等。 技術(shù)可行性 : 本系統(tǒng)的開(kāi)發(fā)利用 Microsoft SQL Server2020 作為本系統(tǒng)的數(shù)據(jù)庫(kù) ,它是一個(gè)支持多用戶的新型數(shù)據(jù)庫(kù) ,適用于大中規(guī)模的數(shù)據(jù)量需求。 綜上所述 ,本系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的 ,因此 ,它在技術(shù)上是可行的。 技術(shù)先進(jìn):產(chǎn)品的系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)應(yīng)緊跟著整個(gè)計(jì)算機(jī)發(fā)展潮流,采用當(dāng)時(shí)最先進(jìn)的設(shè)計(jì)思想,利用最新的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。系統(tǒng)采用模塊化設(shè)計(jì),用戶可以根據(jù)自己的實(shí)際情況自行組合,使系統(tǒng)在不同的硬件環(huán)境下都能得以應(yīng)用。因此,程序要在 TCP/IP 環(huán)境下,實(shí)現(xiàn)服務(wù)器端和客戶端兩部分程序。 : 服務(wù)器端接受客戶端消息鏈轉(zhuǎn)化為 json 格式的數(shù)據(jù)定義。 :服務(wù)器接收客戶端查找好友消息轉(zhuǎn)化為 json 格式的數(shù)據(jù)定義 :服務(wù)器更新在線用戶鏈表的 json 格式的數(shù)據(jù)定義 : 服務(wù)器端 接受客戶端聊天信息和請(qǐng)求并進(jìn)行轉(zhuǎn)發(fā)。 : 客戶端 主界面 topbar 圖標(biāo)數(shù)據(jù) 。 :客戶端注冊(cè)信息數(shù)據(jù)成員。 :客戶端登錄界面及交互 。 :負(fù)責(zé)客戶端好友查找 界面及交互。 4 詳細(xì)設(shè)計(jì) 系統(tǒng)流程圖 系統(tǒng)總體流程圖 開(kāi)始 啟動(dòng)服務(wù)器 判斷啟動(dòng)信息 否 圖 41 系統(tǒng)總體流程圖 系統(tǒng)客戶端流程圖 圖 42 客戶端流程圖 開(kāi)始 客戶端登錄判斷 主界面 聊天界面 好友信息界面 個(gè)人信息界面 退出 結(jié)束 編寫(xiě)服務(wù)器端程序 問(wèn)題陳述 1. 能過(guò)接收 用戶注冊(cè)信息并保存 。 5. 服務(wù)器監(jiān)控用戶列表和對(duì)用戶消息進(jìn)行轉(zhuǎn)發(fā) 。 ( 1) userInfo 表: userInfo 表 此表主要包含了用戶帳 戶基本信息。 客戶端通過(guò) 請(qǐng)求注冊(cè),填寫(xiě)注冊(cè)信息,并驗(yàn)證各項(xiàng) 信息格式 是否符合規(guī)定,如果不符合規(guī)定格式,則進(jìn)行提示重新填寫(xiě) ,最后將請(qǐng)求信息發(fā)送給服務(wù)器端。 // 將向量中的類(lèi)寫(xiě)回文件 FileOutputStream file = new FileOutputStream(fList)。 // 發(fā)送注冊(cè)成功信息 ( + 注冊(cè)成功 )。 用戶登陸 讀用戶數(shù)據(jù) 打開(kāi)用戶數(shù)據(jù)庫(kù)文件“ ”,將用戶數(shù)據(jù)對(duì)象集載入內(nèi)存,以供下面的程序使用。 在對(duì)象數(shù)據(jù)庫(kù)中查找是否有與登錄用戶的用戶名相同的記錄,如果有繼續(xù)驗(yàn)證,否則退出驗(yàn)證處理,返回“沒(méi)有此用戶”錯(cuò)誤 用戶登陸程序模塊如下: if (()) { find = 1。 for (int a = 0。 break。 中刪除用戶 用戶退出后應(yīng)該把用戶從在線列表中刪除,否則用戶退出用戶還在在線列表中,那么該用戶下次將會(huì)無(wú)法登錄。 exit = (Exit) obj。 log(用戶 + + 已經(jīng)退出 , + 退出時(shí)間 : + ())。語(yǔ)言過(guò)濾的時(shí)候?qū)?huì)打開(kāi)“ ”文件,不允許出現(xiàn)的關(guān)鍵詞將會(huì)存儲(chǔ)在文件中,關(guān)鍵字之間以逗號(hào)分割。 public void serverChat() { // 將接收到的對(duì)象值賦給聊天信息的序列化對(duì)象 Chat cObj = new Chat()。 // 將聊天信息的序列化對(duì)象填加到保存聊天信息的 矢量中 ((Chat) cObj)。 toServer = new Socket(strServerIp,1001)。 String status=()。 ()。 } 用戶登錄 收集用戶登錄 信息 程序?qū)⑼ㄟ^(guò) 用戶登錄界面收集用戶的用戶名、密碼,如圖 圖 415 收集用戶登錄信息圖 // 接受客戶的詳細(xì)資料 ??????????? try { // 連接到服務(wù)器 Socket toServer。 // 讀來(lái)自服務(wù)器 socket的登錄狀態(tài) BufferedReader fromServer = new BufferedReader( new InputStreamReader(()))。 // 關(guān)閉流對(duì)象 ()。 ()。位于界面正中的兩個(gè)控件分別是 List 和 TextBox 用來(lái)顯示當(dāng)前服務(wù)器上的在線會(huì)員名單列 表和公共聊天信息。 // 發(fā)送 按鈕 public void sendMessage() { Chat chatobj = new Chat()。 = () ? true : false。 (chatobj)。 } catch (Exception e) { } } // sendMessage()結(jié)束 保存聊天記錄 當(dāng)用戶 需要保存聊天記錄時(shí)可以直接點(diǎn)擊“保存”按鈕,為了防止多用戶聊天記錄文件沖突問(wèn)題,聊天記錄將會(huì)以“用戶名 ”為文件名,將信息保存在當(dāng)前應(yīng)用程序目錄下。 (())。 } } 顯示系統(tǒng)時(shí)間 當(dāng)用戶 需要查看當(dāng)前時(shí)間時(shí),可以直接點(diǎn)擊“時(shí)鐘”按鈕,將會(huì)啟動(dòng)一個(gè)漂亮的電子時(shí)鐘, 時(shí)鐘模塊程序: public void actionPerformed(ActionEvent e) { ()。 String st。//小時(shí) mm=()。//填充的矩形 ()。 else st=st+:+mm。 //計(jì)算時(shí)間和圖形的關(guān)系 sdo=90ss*6。 x=(int)((r8)*(RAD*sdo)+x0)。 old_Y=y。 BufferedReader read = new BufferedReader(fileReader)。 // fileString += (line + \n)。 } catch (IOException e) { /
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1