<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      晨時婧蜜

      導航

      聊天程序項目規劃

      小組成員:張晨 宋浪峰 賀小寬

      項目名稱:聊天系統

       小組分工:核心功能:張晨,宋浪峰   界面:賀小寬   調試:張晨,宋浪峰

      完成設想:

      運行環境:eclipse

      使用語言:Java語言。

      使用數據庫:SQL server 數據庫。

       功能需求

       (1)客戶端:提供登錄、主窗體及聊天等界面及對應的業務,向服務器發送相應的服務請求,并接受相應的處理結果。客戶端只負責鏈接遠程服務器,并發出相應的服務請求,不進行核心業務的處理。具體的處理交給服務器,而客戶端只接收服務器處理的結果并顯示給用戶。

       

       

      (2)服務器:監控登錄信息及在線用戶信息,接收客戶端的服務請求,并做相應的處理,然后將處理結果發送給客戶端。服務器負責處理核心的業務,并負責連接數據庫,保存和讀取數據。

       

       

      (3)客戶端TCP通信設計

        設計ClientToServer類,該類實現了Runnable接口,是一個線程。

      主要方法:

      [1] boolean sendLoginInfoToServer(User u) :登錄請求。

      [2] void getProgerties():獲取配置文件中的服務器IP地址信息。

      [3] void logout(): 下線,通知服務器該用戶下線。

      [4]inttoRegister(UserInfoBean user):新用戶注冊,返回QQ號。

      [5] void noticeUpdate():通知刷新好友信息。

       服務器TCP通信設計

      1)設計ServerThread線程類:處理用戶連接服務器請求,并為其啟動單獨的服務(Server)線程。

      主要方法:

      [1] void run(): 重寫線程類Thread的方法,不斷的等待客戶端的連接請求。

      [2] void pauseThread():暫停服務。

      [3] void reStartThread():恢復服務。

      2)設計Server線程類:處理每個上線用戶個各種服務請求。

      主要方法:

      [1] void run():不斷的等待用戶的請求信息,并判斷請求類型。

      [2] void login():處理用戶登錄。

      [3] void registerNewUser():處理注冊新用戶

      [4] void queryUser():處理查詢用戶。

      [5] void addFriend():添加好友。

      [6] void deleteFriend():刪除好友。

      [7] void updateOwnInfo():更新自己的信息。

      [8] void logout():下線。

      [9] void queryFriend():查詢好友信息。

      2.1.3.2基于UDP的通信

      在進行用戶聊天時,采用基于UDP的通信協議。

      客戶端UDP通信設計

        設計ClientToServerThread線程類:負責UDP通信。

      主要方法:

      [1]void run():循環等待監聽發來的數據。

      [2]void getPropertieInfo():獲取通信的服務器的IP地址及本機通信端口。

      [3]void sendData(byte buffer[]):發送數據。

      [4]void Object ByteToObject(byte[] bytes):將Byte數據轉為Object類型。

      [5]void ObjectToByte(Object obj):將Object型數據轉為Byte型。

      [6]void closeSocket():關閉收發數據報套接字。

       服務器UDP通信設計

      設計ClientToServerThread線程類:負責UDP通信,主要是轉發用戶發送的信息,并保存用戶的聊天記錄。

      主要方法:

      [1]void run():循環等待監聽發來的數據。

      [2]void getPropertieInfo():獲取通信的服務器的IP地址及本機通信端口。

      [3]void sendData(byte buffer[]):發送數據。

      [4] void Object ByteToObject(byte[] bytes):將Byte數據轉為Object類型。

      [5]void ObjectToByte(Object obj):將Object型數據轉為Byte型。

      [6]void closeSocket():關閉收發數據報套接字。

      數據訪問層的實現

      2.1.4.1 打開數據庫連接類(ConnectionFactory)

      [1]void getPropertiesInfo():從配置文件中獲取數據庫連接信息。

      [2]Connection getConnection():打開數據庫連接。

      2.1.4.2 關閉數據庫連接類(DbClose)

      [1]void getPropertiesInfo():從配置文件中獲取數據庫連接信息。

      [2]void close(Connection conn):關閉數據庫連接。

      [3]void close(PreparedStatement pre):關閉數據庫語句

      [4]void close(ResultSet rs):關閉結果集

      [5]voidclose(Connection conn, PreparedStatement pre, ResultSet rs)

      2.1.4.3 數據操作類(Dml)

      [1]void insert(UserInfoBean user):增加新用戶,插入信息。

      [2]void update(UserInfoBean user):更新用戶信息。

      [3]void delete(int qq):刪除信息。

      (搜索)

       

      (4)界面層的實現

      登錄界面

      JLoginFrm登陸窗體主要用于用戶登陸,注冊和找回密碼。

      內部類:

      BackgroundPanel 繼承于JPanel主要用于設置窗體背景圖片

      主要函數:

      1.actionPerformed(ActionEvent e)主要對窗體的按鍵監聽

      2.JLoginFrm()構造函數,控件的初始化。

       

      注冊界面

      JRegisterFrm繼承與JFrame主要用于用戶基本信息的注冊。

      主要函數:

      1. Void setDay()根據不同的年份和月份設置天數

      2.String getBir()以1-1月-2014形式得到用戶的生日

      3.getUserInfo()得到用戶的所有信息

       聊天界面

      ChatPanel主要用于用戶間的聊天通信

      主要函數:

      1、setMessage()設置當前顯示所有會話的面板,不可編輯

      2、setSendMessage()設置當前發送消息的面板,可編輯

      3、sendMessage()發送消息,講發送消息面板的內容發送到會話面板和對方。

      4、sendFile()傳輸文件

      5、sendImage()發送圖片

      6、startShake()發送震動消息

      主界面

      public class findFriendFrm extends JFrame

      //該類負責查找好友界面

      [1] public String getName()//獲得找到好友的昵稱或者QQ號

      [2] public class InformationFrm extends JFrame

      //該類負責顯示好友信息的界面

      用戶信息界面

        好友信息界面主要是將從服務端讀取的好友的個人信息顯示出來。

      [1] publicInformationFrm(UserInfoBean userInfo)

      //在該構造方法中必須傳入一個UserInfoBean 的對象,此對象中包含了好友的所有信息

      [2] public class selectGroupFrm extends JFrame

      //該類負責顯示添加好友的一個界面

       

      posted on 2016-05-20 21:32  晨時婧蜜  閱讀(266)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 久久夜色精品国产噜噜亚洲sv| 欧美18videosex性欧美黑吊| 亚洲av色在线播放一区| 内射一区二区三区四区| 97久久综合亚洲色hezyo| 好吊视频一区二区三区人妖| 最好看的中文字幕国语| 少妇又爽又刺激视频| 粉嫩在线一区二区三区视频| 免费人成自慰网站| 国产360激情盗摄全集| 色综合久久中文综合久久激情| 曝光无码有码视频专区| 无码天堂亚洲国产AV| 亚洲欧美人成网站在线观看看| 亚洲日本韩国欧美云霸高清| 亚洲日韩av无码一区二区三区| 国产360激情盗摄全集| 日本一区二区三区在线 |观看| 日本无产久久99精品久久| 在线播放免费人成毛片| 大香伊蕉在人线国产最新2005 | 亚洲图片自拍偷图区| 四虎精品视频永久免费| 开心激情站一区二区三区| 国产自国产自愉自愉免费24区| 亚洲欧美综合精品成| 久久久久国产精品人妻| 福利一区二区不卡国产| 加勒比亚洲视频在线播放| 欧美成人www免费全部网站| 免费无码黄网站在线观看| 国产精品中文字幕免费| 亚洲中文字幕一二三四区| 国产熟妇久久777777| 亚洲av成人无网码天堂| 成人av片无码免费网站| 亚洲女人天堂成人av在线| 国产999久久高清免费观看| 亚洲悠悠色综合中文字幕| 午夜DY888国产精品影院|