《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于JAVA的仿QQ聊天系統的設計
基于JAVA的仿QQ聊天系統的設計
來源:微型機與應用2013年第24期
李 丹1,2, 張師毅1
(1. 溫州醫科大學附屬眼視光醫院 信息中心, 浙江 溫州325027; 2. 廈門大學 軟件學院,
摘要: 以JAVA技術為核心,利用計算機局域網通信機制原理(例如TCP/IP協議、客戶端/服務器端模式(C/S模式)、網絡編程設計方法等)完成了一款適合局域網的仿QQ聊天系統。該系統主要由一個聊天服務器端程序和一個聊天客戶端程序兩塊組成。前者通過Socket套接字建立服務器,服務器能讀取、轉發客戶端發來的信息,并能刷新用戶列表;后者通過與服務器建立連接來進行客戶端與客戶端的信息交流。經測試,系統工作性能穩定,基本能達到聊天功能,并實現了部分附加功能。
Abstract:
Key words :

摘  要: 以JAVA技術為核心,利用計算機局域網通信機制原理(例如TCP/IP協議、客戶端/服務器端模式(C/S模式)、網絡編程設計方法等)完成了一款適合局域網的仿QQ聊天系統。該系統主要由一個聊天服務器端程序和一個聊天客戶端程序兩塊組成。前者通過Socket套接字建立服務器,服務器能讀取、轉發客戶端發來的信息,并能刷新用戶列表;后者通過與服務器建立連接來進行客戶端與客戶端的信息交流。經測試,系統工作性能穩定,基本能達到聊天功能,并實現了部分附加功能。
關鍵詞: 即時通信; 通信協議; Socket; 多線程

    隨著計算機網絡技術的發展,網絡聊天工具已經成為人們日常交流的一種重要工具。它通信速度快,成本低,更重要的是方便人們信息的交流和資料的傳遞,所以開發一個易于操作并擁有友好界面的聊天工具可以較好地解決現實生活中通信費用高昂以及電話的單線程通信等問題[1]。QQ聊天系統是一款基于互聯網的即時通信系統,它允許人們利用英特網技術實時地傳送信息,并且能讓用戶選擇性地接受或拒絕其他用戶的信息。由于QQ有著出色的通信性能并且其用戶普及度較高,因此本課題在模仿QQ的前提下,設計了一款具有聊天功能及其他附加功能的軟件。
1 系統分析
1.1 需求分析

    聊天系統最重要的是服務器端和客戶端兩個方面。服務器端有兩個主要任務:
    (1)服務器端應當建立一個ServerSocket,并且不斷進行監聽,判斷是否有客戶端連接請求或斷開連接。
    (2)服務器端應當是一個信息發送中心,所有客戶端的信息都傳到服務器端,由服務器端根據要求分發信息給客戶端。
    客戶端要完成的工作:
    (1)與服務器端建立通信通道,向服務器端發送信息。
 (2)接收來自服務器的應答信息。
    解決了上述的4個問題,也就完成了聊天系統的核心任務。
1.2 功能分析
1.2.1 服務器端功能

    服務器管理員具有開啟服務、關閉服務、配置服務器等功能。具體功能圖如圖1所示。

1.3 開發環境工具
    基于JAVA語言的聊天系統主要運用JAVA語言與Socket類[2-3]結合進行開發。在開發過程中的主要環境包括:
    (1)服務器端:Windows平臺上首先有JAVA的jdk環境,一般采用jdk1.6,此外需要配置相應的path、classpath環境變量,并添加運行所需要的各種jar包,本系統開發的工具為Eclipse10.0。
    (2)客戶端:滿足JAVA的jdk環境,主要采用jdk1.6。
    (3)本次設計主要用到的類:java.net包中的Socket類、java.swing包中的類、java.awt包中的類以及java.util包中的集合類。
2 系統設計與實現
2.1 系統設計要點

    聊天系統的設計主要是提供滿足用戶雙方直接進行實時聊天的服務,在設計聊天系統的過程中,必須要考慮好以下幾個設計要點:
    (1)實現思想
 在Internet上的聊天程序一般都是以服務器提供服務端連接響應,用戶通過客戶端程序登錄到特定服務器,即可與登錄在同一服務器上的用戶進行交流,這是一個面向連接的通信過程。因此,要在TCP/IP環境下[4-5],實現服務器端和客戶端兩部分程序。
 (2)服務器端工作流程
 服務器端通過socket()系統創建一個ServerSocket來對客戶端進行接收,并與指定的本地端口綁定bind(),就可以在端口進行監聽listen()。Map<String,socket>用以存儲用戶姓名和對應的Socket。通過ChatRoomServerThread線程類來處理不同請求。如果有客戶端連接請求,則給出一個相應的Socket,將客戶端地址賦給這個Socket。登錄成功的用戶就可以在服務器上聊天。
 (3)客戶端工作流程
    客戶端程序相對簡單,只需要建立一個Socket與服務器端連接,成功后通過這個Socket來發送和接收數據即可。
2.2 服務器端程序模塊
 服務器與客戶端間通過套接口Socket(TCP)連接。JAVA API為處理套接口的通信提供了一個相關類java.net.Socket,因此在JAVA中使用套接口相對簡單,編寫網絡應用程序也相對比較容易。服務器端采用多線程來滿足多用戶的請求,并在服務器端通過創建一個ServerSocket對象來監聽來自客戶端的連接請求,默認端口自定5044,繼而無限循環調用accept()方法接受客戶程序的連接。
    服務器端程序框圖如圖3所示,服務器開啟主要步驟為:
    (1)制造ServerSocket,對客戶端進行接收
        private void createServerSocket(){}
     (2)啟動服務器,循環接收消息
          public void startService() {
              while (true) {
                  s = ss.accept();
                  new ChatRoomServerThread(s).start();
              }
           }
    (3)線程類處理各種請求,在run()方法中依據不同類型請求進行各種操作
      class ChatRoomServerThread extends Thread {
       //主要方法
      public ChatRoomServerThread(Socket s) {}
       public void run(){
      sendOnlineUserList(){}
        sendMessageToClient(String mesg, String clientUserName) {}
       sendMessageToAllClient(String mesg){}
                                 //向所有好友發送消息
                  }
       }
2.3 客戶器端程序模塊
    客戶端通過Socket與服務器建立連接。服務器與客戶端通過構造器ObjectInputStream與ObjectOutputStream建立輸入/輸出流,然后雙方通過該輸入/輸出流相互傳遞信息。一旦收到客戶端的連接請求,服務器accept()方法立即返回一個新建的Socket對象??蛻舳死^而向服務器發送消息,比如文件傳輸等,服務器收到來自客戶的請求后,針對不同的消息處理不同的請求??蛻舳送ㄟ^多線程類ReadMessageThread處理用戶不同類型的請求。其程序框圖如圖4所示。

 

 

    系統除了以上功能之外,還有一些附加功能模塊,可以通過菜單欄進行選擇,包括設置聊天窗口界面、單機游戲(掃雷)、便利記事本、文件上傳等。
    本次設計的仿QQ聊天軟件系統運行穩定,用戶通過客戶端軟件可實現聊天的基本功能,并添加了一些附加功能。但還存在著一些不足之處,比如用戶管理不夠全面,只能顯示在線用戶;另外系統未與數據庫進行連接。因此系統在投入使用之前還需要不斷地完善。
參考文獻
[1] 龐怡,許洪光,姜媛.即時通訊工具現狀及發展趨勢分析[J]. 科技情報開發與經濟,2006,16(16):169-170.
[2] 童銘.基于Socket的多用戶通信框架及實現[J].四川大學學報(自然科學版),2006,43(3):702-705.
[3] 李峰. 利用流式Socket編程實現Window與Linux的通 信[J].微計算機信息,2006,22(3):112-113.
[4] 楊延雙, 張建標, 王全明. TCP/IP協議分析及應用[M].北京:機械工業出版社,2007.
[5] 李素俠,段友祥.嵌入式TCP_IP協議的分析與研究[J].微計算機信息,2005(20):20-20.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美电影免费观看高清| 99视频精品全部免费在线| 一区二区毛片| 欧美伊人精品成人久久综合97| 亚洲激情小视频| 国产精品久久久久久久电影| 欧美—级a级欧美特级ar全黄| 亚洲天堂网在线观看| 国产日韩欧美在线看| 欧美精品一卡二卡| 国产精品不卡在线| 国产在线不卡视频| 亚洲欧美精品| 久久精品在线视频| 狠狠色丁香婷婷综合| 男女精品网站| 久久高清免费观看| 樱桃成人精品视频在线播放| 亚洲丰满少妇videoshd| 亚洲成人原创| 欧美一区二区三区精品电影| 一区二区三区高清在线观看| 欧美精品123区| 欧美激情bt| 香蕉久久久久久久av网站| 亚洲乱码日产精品bd| 亚洲品质自拍| 一区二区三区精品| 久久噜噜噜精品国产亚洲综合| 国产欧美二区| 久久久精品国产一区二区三区| 久久这里只精品最新地址| 欧美精品九九| 欧美日韩在线视频一区| 国产精品久久久久影院色老大| 国产一区二区三区视频在线观看| 久久精品2019中文字幕| 亚洲欧美高清| 欧美性猛交xxxx乱大交退制版| 性做久久久久久久免费看| 狼狼综合久久久久综合网| 欧美精品久久久久久久久老牛影院| 1204国产成人精品视频| 国产精品第13页| 亚洲男人天堂2024| 在线亚洲一区| 亚洲人久久久| 国产精品女人久久久久久| 在线欧美不卡| 欧美日产一区二区三区在线观看| 欧美激情一二三区| 韩国av一区| 国产精品久久久久7777婷婷| 国产亚洲精品7777| 蜜桃视频一区| 欧美在线欧美在线| 亚洲精品乱码久久久久久日本蜜臀| 国产精品一香蕉国产线看观看| 午夜欧美不卡精品aaaaa| 欧美在线综合| 欧美日韩一区在线观看| 极品中文字幕一区| 久久精选视频| 欧美日韩国产色综合一二三四| aa成人免费视频| 亚洲免费视频网站| 国产视频一区二区三区在线观看| 欧美日韩视频免费播放| 久久综合久久综合久久| 欧美一区影院| 欧美日韩成人精品| 在线激情影院一区| 亚洲精品网址在线观看| 亚洲免费伊人电影在线观看av| 久久久.com| 免费看黄裸体一级大秀欧美| 蜜臀av一级做a爰片久久| 国产精品私拍pans大尺度在线| 欧美激情在线有限公司| 亚洲乱码国产乱码精品精可以看| 国产精品美女久久福利网站| 国产精品va在线| 性色av香蕉一区二区| 久久精品成人一区二区三区| 久久噜噜亚洲综合| 国产有码在线一区二区视频| 亚洲伊人伊色伊影伊综合网| 一区二区国产日产| 亚洲欧美日韩国产一区二区| 欧美在线免费观看亚洲| 激情综合色综合久久| 99国产精品视频免费观看| 欧美日韩精品是欧美日韩精品| 亚洲一区二区三区在线| 亚洲天堂av图片| 欧美成人综合一区| 亚洲欧美在线一区| 欧美在线看片a免费观看| 亚洲性图久久| 牛人盗摄一区二区三区视频| 欧美凹凸一区二区三区视频| 裸体丰满少妇做受久久99精品| 你懂的视频一区二区| 亚洲自拍偷拍色片视频| 在线观看不卡av| 久久久久**毛片大全| 国产日韩精品一区观看| 日韩一二三在线视频播| 国产精品永久免费观看| 久久亚洲春色中文字幕久久久| 欧美成人亚洲成人日韩成人| 久久青草福利网站| 老司机亚洲精品| 99国产欧美久久久精品| 亚洲另类在线视频| 国产在线国偷精品产拍免费yy| 国产伦精品一区二区三区免费迷| 欧美sm重口味系列视频在线观看| 久久综合五月| 亚洲娇小video精品| 亚洲麻豆国产自偷在线| 亚洲精华国产欧美| 在线中文字幕一区| 免费在线欧美黄色| 国产一区二区三区网站| 亚洲一区二区三区精品在线| 欧美日韩中文字幕在线| 欧美日韩亚洲另类| 欧美日韩国产成人在线观看| 国产精品亚洲美女av网站| 欧美亚洲午夜视频在线观看| 欧美日韩一本到| 在线不卡亚洲| 国产精品一区二区视频| 欧美手机在线| 91久久在线| 欧美一区二区在线免费观看| 香港成人在线视频| 米奇777在线欧美播放| 99re在线精品| 一区视频在线| 亚洲视频网站在线观看| 亚洲专区国产精品| 亚洲高清久久久| 国产亚洲欧美一级| 亚洲国产三级在线| 欧美色一级片| 久久高清一区| 国产精品高精视频免费| 国模叶桐国产精品一区| 欧美日韩国产一区二区三区地区| 国内精品久久久久国产盗摄免费观看完整版| 黄色精品免费| 毛片一区二区| 激情欧美国产欧美| 国产一区二区欧美| 欧美精品www在线观看| 欧美一区二区三区在线| 亚洲综合欧美日韩| 曰韩精品一区二区| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩大陆在线| 欧美视频一区二区三区| 久久这里有精品15一区二区三区| 在线观看福利一区| 午夜视频在线观看一区二区| 亚洲东热激情| 久久久噜噜噜久久中文字免| 久久精品一区二区三区四区| 亚洲一区3d动漫同人无遮挡| 亚洲欧洲三级| 国产一区二区三区奇米久涩| 国产精品亚洲一区二区三区在线| 亚洲一二三四久久| 一区二区三区鲁丝不卡| 美女露胸一区二区三区| 欧美亚洲一区二区在线观看| 亚洲观看高清完整版在线观看| 欧美激情一区二区三级高清视频| 国产区精品视频| 亚洲伊人久久综合| 免费看精品久久片| 亚洲美女淫视频| 国产精品成人一区二区三区吃奶| 久久国产乱子精品免费女| 国产一区二区三区电影在线观看| 在线看不卡av| 国产精品久久久久久影院8一贰佰| 亚洲激情一区二区| 尹人成人综合网| 亚洲精品综合久久中文字幕| 欧美日韩精品免费观看视频| 欧美激情一二区| 亚洲日本电影| 欧美日韩精品久久| 国产欧美日韩综合精品二区| 国产欧美精品日韩| 国产精品色午夜在线观看| 亚洲精品影视在线观看| 一区二区三区日韩欧美精品| 国产主播精品在线| 亚洲福利精品| 亚洲激情影视| 久久久久久国产精品mv| 国产精品高潮呻吟久久av无限| 国产日韩精品一区二区三区| 久色婷婷小香蕉久久| 久久久久久久久岛国免费| 国产欧美精品一区aⅴ影院| 亚洲欧美日韩精品久久| 欧美多人爱爱视频网站| 久久久久在线| 禁断一区二区三区在线| 国产视频一区在线观看一区免费| 亚洲三级视频在线观看| 狠狠色噜噜狠狠狠狠色吗综合| 欧美三级资源在线| 久久精品国产一区二区三区| 日韩视频欧美视频| 麻豆精品在线观看| 精久久久久久| 久久嫩草精品久久久久| 欧美色视频一区| 美女福利精品视频| 国产一区二区电影在线观看| 久久精品av麻豆的观看方式| 亚洲区第一页| 午夜视频久久久| 性欧美暴力猛交另类hd| 一区二区欧美精品| 久久成人av少妇免费| 欧美激情五月| 国产精品jizz在线观看美国| 国产亚洲综合性久久久影院| 欧美一级淫片aaaaaaa视频| 亚洲精品一区在线观看| 免费观看在线综合| 国产精品美女www爽爽爽| 欧美日本成人| 久久天天躁狠狠躁夜夜av| 亚洲国产日韩综合一区| 国产精品盗摄一区二区三区| 欧美岛国激情| 国产亚洲视频在线| 在线观看久久av| 国产精品不卡在线| 黑人巨大精品欧美一区二区| 亚洲国产成人av在线| 欧美系列电影免费观看| 午夜日韩在线观看| 91久久在线视频| 亚洲欧美国产一区二区三区| 欧美fxxxxxx另类| 久久九九99| 国产日韩欧美综合在线| 欧美日韩成人在线播放| 黄色成人在线网站| 好男人免费精品视频| 免费毛片一区二区三区久久久| 欧美日韩在线视频首页| 激情欧美一区二区| 欧美午夜宅男影院在线观看| 99精品国产高清一区二区| 最新国产成人av网站网址麻豆| 欧美午夜精品久久久久久久| 亚洲高清不卡在线观看| 国产日韩av一区二区| 亚洲高清不卡| 欧美精品激情在线| 久久九九99视频| 国产婷婷97碰碰久久人人蜜臀| 久久五月天婷婷| 亚洲福利av| 久久亚洲影音av资源网| 久久久www成人免费毛片麻豆| 久久成人在线| 欧美一区二区三区在线观看| 久久婷婷国产综合国色天香| 国产情侣一区| 亚洲专区在线视频| 国产一区二区三区最好精华液| 亚洲性视频网站| 蜜桃精品一区二区三区| 女女同性女同一区二区三区91| 欧美日韩免费在线观看| 国产精品精品视频| 午夜精品福利在线| 国产欧美精品va在线观看| 国产精品欧美日韩一区| 午夜日本精品| 在线亚洲免费| 欧美视频网站| 欧美久久久久久久久久| 国产亚洲精品久久飘花| 亚洲第一搞黄网站| 欧美日韩岛国| 免费久久精品视频| 国产精品视频999| 欧美国产大片| 日韩午夜电影在线观看| 久久久久久久一区二区| 欧美成人精品一区二区| 欧美精品久久久久久久久老牛影院| 久久er精品视频| 国产欧美日韩精品专区| 国产区在线观看成人精品| 亚洲一区3d动漫同人无遮挡| 欧美久久久久久蜜桃| 在线视频亚洲| 国产老女人精品毛片久久| 久久久999精品免费| 免费欧美在线| 欧美一区二区三区成人| 国产精品久久久久毛片软件| 国产性天天综合网| 91久久久一线二线三线品牌| 伊人久久噜噜噜躁狠狠躁| 亚洲视频一区| 欧美成人蜜桃| 亚洲最新在线视频| 美日韩精品视频| 亚洲国产欧美日韩| 国产亚洲一区二区三区| 欧美在线亚洲在线| 欧美韩国日本综合| 99精品热视频| 久久精品亚洲一区| 国产精品国产自产拍高清av王其|