999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java平臺的網絡聊天系統的設計與實現

2009-04-29 00:00:00施滔滔崔曉鵬
電腦知識與技術 2009年26期

摘要:針對當前中小型企業辦公人員對即時通訊軟件要求較低等問題,提出了一種基于Java平臺下的網絡聊天系統的設計與實現方案,對系統進行了整體設計和詳細設計,該系統主要通過Java Socket網絡編程實現通信,具有速度快,高穩定性,占用系統資源少,用戶界面友好等特點。最后該文還介紹了系統設計的關鍵技術,通過這些技術提高了網絡聊天的效率。

關鍵詞:Java;Socket編程;多線程;網絡聊天系統

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)26-7415-02

The Design of System of Web Chat Based on Java

SHI Tao-tao, GUO Shu, CUI Xiao-peng, LIU Ying

(Department of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China)

Abstract: Based on office staffs’ low level requiring for instant messaging software in the small and medium enterprises.An design and implementation program of web chat has been hold out which is based on Java platform, the system has been overall designed and detailed designed. The system uses Java socket programming to achieve communication, with many characteristics such as high speed, high stability ,occupying less system resources, user-friendly.Finally,the key technologies of the system has been introduced, which has improved the efficiencies of web chat.

Key words: Java; socket programming; multi-threaded; system of web chat

近年來,隨著科學技術的飛速發展,特別是信息技術的突飛猛進,我們已經進入了信息化的時代,計算機以其精確、高效的優勢逐漸滲入到了經濟社會的各個領域,可以說現代社會已離不開計算機了。

對于現在的軟件市場來說,即時通訊軟件占了很大一部分比例,可以說很多的人來上網都是聊天,而且當前很多軟件已經發展得較成熟,然而并不是它們不好,只是它們由于想要用過多花哨的功能和界面來吸引用戶,反而使得很多用戶用不慣甚至找不到想要的工具,特別是對于那些日常工作繁忙的上班族人員。本文開發的網絡聊天軟件正盡可能的向界面友好同時功能明確、簡潔的方向邁進,特別適合中小型企業內部的通知、交流和聯系。

1 系統的開發環境及技術要求

1.1 系統的開發環境

本系統在Windows XP 操作系統下采用MyEclipse 7.0開發環境進行開發,在Java平臺下進行GUI圖形界面設計,并通過Java Socket編程以及多線程技術完成網絡通信。數據存儲方面,采用文件的輸入輸出操作來滿足需求。

1.2 開發技術簡介

Java[1]是一門很優秀的編程語言,具有面向對象、與平臺無關、安全、穩定和多線程等特點,是目前軟件設計中極為健壯的編程語言。Java不僅可以用來開發大型的應用程序,而且特別適合于Internet的應用開發。

Java Socket編程[2],簡單的理解就是兩臺計算機相互通訊數據而已。Java SDK提供一些相對簡單的Api來完成這些工作,Socket就是其中之一。對于Java而言,這些Api存在于java.net 這個包里面。因此只要導入這個包就可以準備網絡編程了。網絡編程的基本模型就是客戶機到服務器模型,即兩個進程之間相互通訊,然后其中一個必須提供一個固定的位置(服務器),而另一個則只需要知道這個固定的位置(客戶端),并去建立兩者之間的聯系,完成數據的通訊就可以了。

多線程[3]是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統的效率。線程是在同一時間需要完成多項任務的時候實現的。使用線程可以把占據長時間的程序中的任務放到后臺去處理,用戶界面可以更加吸引人,在一些等待的任務實現上如用戶輸入、文件讀寫和網絡收發數據等,可以釋放一些珍貴的資源如內存占用等等。

2 系統設計

2.1 總體設計

網絡聊天系統的總體設計[4]圖如圖1所示。

2.2 系統實現原理[5]

當用戶聊天時,將當前用戶名、聊天對象、聊天內容和是否私聊進行封裝,然后與服務器建立Socket連接,再用對象輸出流包裝Socket的輸出流將聊天信息對象發送給服務器端。

當用戶發送聊天信息時,服務端將會收到客戶端用Socket傳輸過來的聊天信息對象,然后將其強制轉換為Chat對象,并將本次用戶的聊天信息對象添加到聊天對象集Message中,以供所有聊天用戶訪問。

接收用戶的聊天信息是由多線程技術實現的,因為客戶端必須時時關注更新服務器上是否有最新消息,在本程序中設定的是3秒刷新服務器一次,如果間隔時間太短將會增加客戶端與服務器端的通信負擔,而間隔時間長就會讓人感覺沒有時效性,所以經過權衡后認為3秒最佳,因為每個用戶都不可能在3秒內連續發送信息。

每次用戶接收到聊天信息后將會開始分析聊天信息然后將適合自己的信息人性化地顯示在聊天信息界面上。

3 關鍵技術

網絡通信的設計[6]是整個系統設計的第一步,也是系統設計重要組成部分,本系統首先要創建服務器,然后通過多線程實現網絡通信,該部分的主要程序代碼如下:

//////////*創建服務器*//////////

public AppServer()

{ServerFrame sFrame=new ServerFrame();

static Vector u=new Vector(1,1);

static Vector v=new Vector(1,1);

try{

ServerSocket serverSocket = new ServerSocket(1001);

//獲取服務器的主機名和IP地址

InetAddress address = InetAddress.getLocalHost();

sFrame.txtServerName.setText(address.getHostName());

sFrame.txtIP.setText(address.getHostAddress());

sFrame.txtPort.setText(\"1001\");

}catch(IOException e){fail(e,\"不能啟動服務!\");}

sFrame.txtStatus.setText(\"已啟動...\");

this.start(); //啟動線程

}

//////////*監聽客戶的請求*//////////

public void run()

{ try{

while(true)

{Socket client = serverSocket.accept();//監聽并接受客戶的請求

Connection con = new Connection(client,u,v); //支持多線程

} }catch(IOException e){fail(e,\"不能監聽!\");}

}

//////////*處理線程*//////////

class Connection extends Thread

{

protected ObjectInputStream fromClient;//從客戶到服務器

protected PrintStream toClient; //傳到客戶端

public Connection(Socket client,Vector u,Vector c)

{

protected SocketnetClient = client;

VectoruserOnline=u;

VectoruserChat=c;

//發生雙向通信

fromClient = new ObjectInputStream(netClient.getInputStream());//檢索客戶輸入

toClient = new PrintStream(netClient.getOutputStream());//服務器寫到客戶

this.start();//啟動線程

}

4 結束語

本文介紹了利用java技術開發的網絡聊天系統,著重研究并實現了網絡應用部分。根據實現的情況來看,具有較友好的聊天界面生成效果以及流暢的網絡通信效果,基本滿足了結構化、界面友好、速度快、安全性以及穩定性等特點。可以推廣到中小型企業使用。

參考文獻:

[1] 孫一林.Java語言高級教程[M].北京:清華大學出版社,2002.

[2] Calvert K L.Java TCP/IP Socket編程[M].2版.北京:機械工業出版社,2009.

[3] 史斌星,史佳.Java基礎編程貫通教程[M].北京:清華大學出版社,2003.

[4] 張虹,姜淑娟,劉迎春,等.軟件工程與軟件開發工具[M].北京:清華大學出版社,2004.

[5] 林濤.計算機網絡應用編程技術[M].北京:人民郵電出版社,2006.

[6] 梁普選.Java程序設計與網絡編程[M].北京:清華大學出版社,2007.

主站蜘蛛池模板: 高清码无在线看| 欧美视频在线播放观看免费福利资源| 久久婷婷人人澡人人爱91| 欧美精品一区二区三区中文字幕| 再看日本中文字幕在线观看| 国产美女在线观看| 青青久视频| 国产欧美精品一区aⅴ影院| 日韩精品无码免费一区二区三区 | 国产精品网曝门免费视频| 激情网址在线观看| 亚州AV秘 一区二区三区| 无码福利视频| 久久天天躁夜夜躁狠狠| 一区二区三区毛片无码| 好吊色妇女免费视频免费| 久久99国产精品成人欧美| 99999久久久久久亚洲| 亚洲天堂网站在线| 午夜福利免费视频| 精品综合久久久久久97超人| 国产二级毛片| 国产精品七七在线播放| 久久人与动人物A级毛片| av手机版在线播放| 国产精品视频公开费视频| 亚洲资源在线视频| 一本大道无码高清| 亚洲色偷偷偷鲁综合| 精品人妻无码中字系列| 亚洲日本中文字幕天堂网| 特级欧美视频aaaaaa| 亚洲91在线精品| 午夜视频www| 欧美成在线视频| 日韩一级二级三级| 国产97公开成人免费视频| 精品一区二区三区自慰喷水| 成年人国产视频| 日韩中文无码av超清| 国产精品va免费视频| 国产女人在线| 日韩人妻少妇一区二区| AV在线麻免费观看网站| 国产精品lululu在线观看| 一边摸一边做爽的视频17国产| 麻豆精品在线视频| 日本在线免费网站| 秋霞一区二区三区| 日韩高清欧美| 中国国产一级毛片| 日韩成人在线视频| 中日韩欧亚无码视频| 国产成年无码AⅤ片在线| 国产精品一区二区在线播放| 综合成人国产| 国产成人免费观看在线视频| 99久久国产自偷自偷免费一区| 国产美女精品人人做人人爽| 在线观看91香蕉国产免费| 婷婷亚洲天堂| 成人韩免费网站| 久久国产亚洲偷自| 亚欧美国产综合| 日本一本正道综合久久dvd| 真人高潮娇喘嗯啊在线观看| 久久无码av三级| 人妻中文久热无码丝袜| 试看120秒男女啪啪免费| 2021亚洲精品不卡a| 91青青在线视频| 伊人久久大香线蕉综合影视| 1级黄色毛片| 国产人碰人摸人爱免费视频| 国产最爽的乱婬视频国语对白| 日韩小视频网站hq| 欧美有码在线| 国产网友愉拍精品视频| 国产精品免费久久久久影院无码| 免费国产高清精品一区在线| 国产小视频a在线观看| 99中文字幕亚洲一区二区|