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

正文內(nèi)容

基于java技術(shù)的即時聊天系統(tǒng)實現(xiàn)-文庫吧資料

2024-11-15 22:01本頁面
  

【正文】 (sm)。 while(((bytes))!=1){ (bytes)。代碼如下: 文件的讀取和發(fā)送: FileInputStream fis =new FileInputStream(filePath)。 文件 的發(fā)送方式 已經(jīng)解決,那么對于文件的讀取方式我們需要再次進行思考, 由于發(fā)送的文件除了有文本文件,還有音樂、視頻等,我們不可能直接使 用字符流的方式進行讀取,因此,我們只能 14 采用字節(jié)流的形式讀取文件。 在 Java中,它提供了很多能夠發(fā)送文件的方法,例如字符流、字節(jié)流、對象流等,但是在服務(wù)器端、客戶端我們一直使用的是對象流進行數(shù)據(jù)的接受、發(fā)送,從而使發(fā)送的信息不至于錯亂。//將表情添加到滾動列表中 } } } 圖 58 表情窗口 文件的發(fā)送 發(fā)送文件是很多聊天系統(tǒng)都擁有的功能,在本系統(tǒng)中我們能夠發(fā)送文本文件、音樂、視頻等 ,能夠給用戶提供更多的服務(wù) 。 if(==2){ PicInfo Spic = new PicInfo((pp [0]), pp [1])。 i 。 } } } 重組收到的表情信息串 : public void receivedPicInfo(String pic){ String[] PicInfo = ([+])。 (pictureInfo)。 FriendChatIcon Fch = (FriendChatIcon)icons。 i ().length()。 由于本系統(tǒng)是 C/S 架構(gòu)的,每一個客戶端都是一樣的,系統(tǒng)內(nèi)存放著這些表情圖片,而且每一個表情圖片都有自己相應(yīng)的 Id;因此,我們只需要提取到使用的表情圖片的 Id,以及獲得它在發(fā)送信息的位置即可,到時我們只需要將發(fā)送的文本和表情的 Id 及其在發(fā)送信息的位置發(fā)送過去即可,客戶端內(nèi)置一些專 門處理表情的函數(shù),代碼如下: 13 重組發(fā)送表情 : private String buildPicInfo(){ StringBuilder all = new StringBuilder()。 } ((), (), (), (), (), (), ())。 } QqFriendChatFrame FriendChat=(()++ ())。 if( Msges ().equals( 3)){ if((()+ +())==null){ QqFriendChatFrame FriendChat=new QqFriendChatFrame((),())。 同綁定線程一樣,在用戶開啟好友聊天界面的時候,客戶端將你的帳號同聊天好友的帳號組合在一起,通過 HashMap 的鍵值對的形式將組合后的字符串和這個窗口進行綁定,每開啟一個窗口都進行綁定,等到客戶端接受到服務(wù)器發(fā)送來的信息,進行相應(yīng)的處理,即可將信息追加到對應(yīng)的聊天窗口中。 return al。 (Str)。 } } } Object[]tr=()。j++){ //(tr2[i])。 FOR(Int j=0。i++){ //(tr1[i])。 12 for(int i=0。 Object[]tr1=(Object[])(0)。 ArrayList str=(sql1, sql2,sql3)。 String sql3=select blackname from friend where zhanghao=+userId+ limit 1。 String sql2=select zhanghao from friend where friendId like 39。只需要在提取好友 ID 信息的時候把存在黑名單中的好友 ID 移出即可。 } 圖 5 6 添加、刪除好友選項框 圖 5 7 添加好友提示框 移動黑名單 黑名單功能是每個即時聊天軟件必不可少的功能,對于本系統(tǒng)的黑名單功能,那么我又是如何實現(xiàn) 的呢?其實在方法是比較簡單的, JTree 提供一個自帶的方法,它允許子節(jié)點進行移動,我們能夠在界面上看到相互之間的移動,那么剩下的問題就是數(shù)據(jù)庫存儲的問題了。 //向 hm 中添加一個客戶端通訊線程 public static void SetClients (String No, ServerConnecClient Sct){ (No, Sct)。 對于如何獲取到好友的線程呢?在這里就粗略的講述一下:本系統(tǒng)在每個 用戶登錄的時候,服務(wù)器都會為每個用戶新建一個線程,同時將每個用戶的線程和其帳號通過 HashMap 進行鍵值對的綁定, 到使用的時候服務(wù)器只需通過帳號就能獲取到相應(yīng)的帳號線程 ,這樣就能夠很簡單的幫我們想要傳遞的信息轉(zhuǎn)發(fā)給相應(yīng)的好友 。 new ClientLogin()。 ClientUser qqClientUser=new ClientUser()。 ((m[2]))。 (1)。 } 實現(xiàn)修改密碼 密碼的修改相對的簡單,用戶只需要根據(jù)相應(yīng)的 選項卡 填寫,就能夠進行密碼的修改,至于實現(xiàn)的代碼如下: User M=new User()。 if((M)){ dispose()。()。 User M=new User()。 Str[5]=().toString()+ +().toString()+().toString()。 Str[3]=SEX。 Str[1]=()。 MD5 getMD5 = new MD5()。代碼如下: MessageArray R=new MessageArray()。 (())。 } Msges S=new Msges ()。 try { 10 oos=newObjectOutputStream( ().getS().getOutputStream())。 //將 好友 聊天窗口添加到 集合中 ((), PeopleList)。 QqClientUser qqClientUser=new QqClientUser()。 ((new String(())))。 代碼如下: User M=new User()。 首先我們需要做一個 用戶信息類( User),接著是信息類( Message),其次是消息類型類( MessageType),它們不需要做過多的設(shè)計,只需要定義一些需要的變量,然后對其進行 Set 和 Get 即可。 } 圖 5 5 聊天窗口界面 服務(wù)器端界面 服務(wù)端僅是用來開啟 Socket,界面并沒有什么太多的功能,只是兩個按鈕而已,在這里就不做過多的介紹了。 } 9 } })。 jl[i].addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e){ if(()==1){ JLabel facelabel = (JLabel)(())。 jl[i]=new JLabel(new ChatIcon((file_names),i), )。i。 String file_names=。 兩個組件圖形化分隔以外觀實現(xiàn)為基礎(chǔ),并且這個組件可以由用戶 自由 調(diào)整大小。但是 它不像 JFram那樣,它 不具 有標題 欄、窗口管理按鈕 等 ,我自認為 它 是做表情窗口最佳的選擇。 JTextPane 是一個可以編輯和顯示圖片、文本 Html等的富文本組件。 從圖片上看它只是個普通的界面,但是它擁有很多沒有展示的部分,例如表情窗口、聊天記錄界面、字體樣式選框等。 }})。 代碼如下: (new DefaultTreeCellRenderer() { public getStreeRendererComponent(JTree stree,string val,boolean bool, int cow, boolean havefoc) { if (leaf) {(title)。 JTree 是樹形組件 ,能夠添加刪除 子節(jié)點 ,子節(jié)點同樣能夠添加子節(jié)點。(忘記密碼 ,Sjp1)。 Sjtp=new JTabbedPane()。 Sjp1=new JPanel()。代碼如下: Sjp0=new JPanel()。 JTabbedpane提供 add方法允許設(shè)計者向其中添加標題,通過添加 addChangeListener監(jiān)視 7 器,當觸發(fā)時候進行頁面的跳轉(zhuǎn)。 } code= ()。 blue = (255)。 red = (255)。 i Recv。 代碼如下: StringBuffer randomRecv = new StringBuffer()。i++){ (City[i])。 for(int i=0。} 獲?。? if((s)){RegisterAddress Address=(RegisterAddress) (s)。i。 代碼如下: 添加 : HashMapObject, Object hm=new HashMap()。 HashMap 是 集合 類 ,我們可以通過 put、 get 方法向其中添值、取值, 其最重要的一點是它是鍵值對形 式的,通過一個鍵就能取出相應(yīng)的值,對于本界面的全國省市聯(lián)動,正好可 6 以用到 地址的靈活變動。 圖 5 1 登錄界面 注冊界面 在注冊界面 ( 36) 中同樣采用默認布局 自定義位置。 Sjp3_jb1=new JButton(new ImageIcon(image/))。 Sjbl4=new JLabel(xiugai)。 Sjpf=new JPasswordField()。 Sjbl3=new JLabel(zhuce)。 Sjbl2=new JLabel(mima)。 Sjtf=new JTextField()。 Sjbl1=new JLabel(zhanghao)。具體代碼如下: Sjp1_jbl=new JLabel(new ImageIcon(image/))。 登錄界面 本 即時聊天系統(tǒng)的登錄界面 (圖: 35) ,采用 JFram容器, 使用默認布局 , 通過 setBounds()方法 自定義位置。 界面設(shè)計 軟件界面的設(shè)計 是非常重要的 , 對于 各個模塊采用不同的組件進行設(shè)計 。 圖 4 2 用戶屬性 4 圖 4 3 好友屬性 圖 4 4 歷史記錄屬性 2. 物理設(shè)計: 根據(jù)系統(tǒng)的數(shù)據(jù)類型,我們可以選擇為數(shù)據(jù)庫表中字段最合適的數(shù)據(jù)類型,字段大小,索引結(jié)構(gòu)等 [5]。 3 圖 4 1 系統(tǒng)功能模塊 圖 數(shù)據(jù)庫設(shè)計 通過用戶的注冊,聊天等形成初步的數(shù)據(jù)需求;對數(shù)據(jù)需求進行概念 上的 設(shè)計,得到 對應(yīng) 的 ER 圖; 其次 選擇合適的方法,將 ER 圖轉(zhuǎn)化為關(guān)系模型; 然后 對關(guān)系模型進行物理設(shè)計 [4]。 4 總體 設(shè)計 軟件設(shè)計是從軟件 的 用戶的 需求出發(fā),根據(jù)需求分析 來 確定軟件系統(tǒng) 功能設(shè)計 的整體結(jié)構(gòu), 然后 劃分 各個 功能模塊, 最后確定每個 模塊的 實現(xiàn)算法以及編寫具體的代碼, 最終 形成了 軟件的具體設(shè)計方案 [3]。 5. 修改密碼界面 :讓用戶在忘記密碼或者想修改密碼時候,能夠 進行 修改 密碼 操作 。 2. 注冊界面: 用戶可以注冊,注冊信息可以被添加到數(shù)據(jù)庫,然后用于確定用戶的登錄 。 2 需求分析是指對即時 聊天系統(tǒng)的功能、非功能進行 全面 分析的過程,對以后開發(fā)出來的軟件應(yīng)該實現(xiàn)什么樣的功能, 具有什么樣 的界面 以及軟件能夠 達到什么樣的性能 等。 3 需求分析 軟件系統(tǒng)的開發(fā)是根據(jù)用戶 的 需求 來 設(shè)計開發(fā)出 用戶需要的 軟件系統(tǒng)或者系統(tǒng)中的軟件部分 的 過程 。 MySQL 是一個 關(guān)系 數(shù)據(jù)庫 , 底層代碼是 C、 C++編寫的 ,通過編譯測試達到代碼的可移植 ;而且,它支持支持 Linux、 Windows、 Msc OS等多種操作系統(tǒng),支持多線程 。 開發(fā)工具 簡介 MyEclipse 是一種集成開發(fā)軟件 。 Java 語言能夠使開發(fā)者在設(shè)計程序的時候能夠根據(jù)自己的情況自定義數(shù)據(jù)類型和關(guān)聯(lián)操 作,對于程序中的數(shù)據(jù)結(jié)構(gòu)的改變或者代碼的改變進行相應(yīng)的操作; Java 語言編寫的程序編譯后無需再次編譯,可以在任何硬件設(shè)備下運行 [1]。 2 開發(fā)環(huán)境介紹 本聊天系統(tǒng)是基于 Java技術(shù)的, 采用 C/S 結(jié)構(gòu),采用 MVC的開發(fā)框架,利用 MyEclipse、MySQL 數(shù)據(jù)庫作為開發(fā)工具。 論文 的 設(shè)計 主要采用 了兩種研究方法 :一是文獻資料研究的方法。 即時聊天已經(jīng)與我們的生活不可分割,利用 自己 學(xué)習(xí)到的 Java 語言開發(fā)一款自己的聊天軟件是一個非常不錯的選擇,既能夠檢驗自己對 Java 技術(shù) 的 掌握,同時又能夠開發(fā)一款自己的聊天軟件。 1 1 緒論 背景 隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,即時聊天 已經(jīng)成為如今最流行的通訊方式, 尤其在移動互聯(lián)網(wǎng)方面, 即時聊天已
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1