周波海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院
?
基于Java平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
周波
海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院
摘要:當(dāng)今時(shí)期,計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展,全民迎來信息化時(shí)代。計(jì)算機(jī)技術(shù)的普及,極大程度的改變了人們傳統(tǒng)的生活習(xí)慣,計(jì)算機(jī)早已成為當(dāng)今社會(huì)不可缺少的產(chǎn)物??茖W(xué)技術(shù)的發(fā)展直接推動(dòng)軟件產(chǎn)品的完善,通訊軟件產(chǎn)品更是受到人們的熱烈歡迎。通過對(duì)基于Java平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行研究分析,希望能夠計(jì)算機(jī)行業(yè)研究人員提供一定的理論依據(jù)。
在網(wǎng)絡(luò)盛行的當(dāng)今時(shí)代,傳統(tǒng)的溝通方式早已受到網(wǎng)絡(luò)的沖擊,發(fā)生極大的變化。人與人之間的溝通,更加利用網(wǎng)絡(luò)通訊軟件進(jìn)行聊天,網(wǎng)絡(luò)聊天早已成為人們相互間溝通必要的方式。而Java作為一項(xiàng)較為理想的編程語言,具有安全穩(wěn)定的優(yōu)勢(shì),同時(shí)其多線程、與平臺(tái)無關(guān)的特點(diǎn),在軟件設(shè)計(jì)中較為普遍使用的編程語言。
設(shè)計(jì)語言:Java
設(shè)計(jì)平臺(tái):Windows7;WindowsXP;Windows2000
現(xiàn)階段的計(jì)算機(jī)技術(shù)得到高速發(fā)展,以此使網(wǎng)絡(luò)形式更加豐富,內(nèi)容更加繁多。計(jì)算機(jī)通過聯(lián)網(wǎng),需要在協(xié)議的支持下,以此實(shí)現(xiàn)相互之間的通訊?,F(xiàn)如今,TCP/IP協(xié)議是Internet較為普遍使用的網(wǎng)絡(luò)協(xié)議。而網(wǎng)絡(luò)編程的最終目的,主要是利用網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)計(jì)算機(jī)之間的通訊。通訊雙方能夠互相等待對(duì)象所提出的請(qǐng)示,并且能夠給予回應(yīng);客戶有需求時(shí)可以申請(qǐng)服務(wù)。服務(wù)器具有守護(hù)進(jìn)程的作用,同時(shí)能夠?qū)W(wǎng)絡(luò)端口進(jìn)行監(jiān)聽,如果接收到客戶請(qǐng)求,則相應(yīng)服務(wù)就自動(dòng)啟動(dòng)以此回應(yīng)客戶,并且能夠繼續(xù)保持服務(wù)端口的監(jiān)聽作用,滿足所有客戶請(qǐng)求所需。
2.1Socket通信技術(shù)
Socket通信是網(wǎng)絡(luò)中計(jì)算機(jī)進(jìn)行通訊的一種方法,應(yīng)用程序通過調(diào)用系統(tǒng)提供的Socket庫函數(shù),能夠很容易的實(shí)現(xiàn)網(wǎng)絡(luò)計(jì)算機(jī)之間的相互通信。一般來說,Socket的工程程序可以分成以下三個(gè)步驟:第一、建立連接?;贘ava平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng),主要利用TCP/IP協(xié)議進(jìn)行通信,因此,在通信之前,需要建立點(diǎn)對(duì)點(diǎn)連接,同時(shí)保證其安全性和穩(wěn)定性,以此實(shí)現(xiàn)服務(wù)端同客戶端之間的連接;第二、數(shù)據(jù)通信。此次網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì),在數(shù)據(jù)讀取和發(fā)送方面,主要采取OutputStream和InputStream,然后信息經(jīng)過服務(wù)器處理,最終客戶端接收到信息數(shù)據(jù);第三、通信完畢。將連接進(jìn)行關(guān)閉。
2.2TCP/IP協(xié)議
TCP為傳輸控制協(xié)議,IP為網(wǎng)際協(xié)議,是網(wǎng)絡(luò)層最重要的協(xié)議。采用TCP/IP協(xié)議通過互聯(lián)網(wǎng)傳送信息可減少網(wǎng)絡(luò)中的傳輸阻塞,方便大批量的數(shù)據(jù)在網(wǎng)上傳輸,從而提高網(wǎng)絡(luò)的傳輸效率。在此次系統(tǒng)設(shè)計(jì)中,主要考慮到其以下幾個(gè)特點(diǎn):第一、TCP/IP協(xié)議具有開放性,對(duì)操作系統(tǒng)以及硬件不限制,免費(fèi)供用;第二、TCP/IP協(xié)議屬于標(biāo)準(zhǔn)的高層協(xié)議,能夠保證用戶在使用點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)服務(wù)時(shí),更加具有穩(wěn)定性和可靠性;第三、TCP/IP協(xié)議進(jìn)行分配方案時(shí)通常采取一致的網(wǎng)絡(luò)地址,每臺(tái)機(jī)器對(duì)應(yīng)唯一的IP地址;第四、TCP/IP協(xié)議對(duì)硬件不設(shè)要求,在局域網(wǎng)或者廣域網(wǎng)中均可使用。
2.3多線程
在Java語言中,線程主要以運(yùn)行、就緒、阻塞、以及結(jié)束等四個(gè)狀態(tài)存在。此次基于Java平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)主要采取多線程的方式,主要是利用多線程,能夠有效降低程序相應(yīng)時(shí)間,保證工作效率,使設(shè)備更加具有良好的交互性;此外,多線性有利于使程序結(jié)構(gòu)進(jìn)一步簡化,便于程序的后期維護(hù)工作。在系統(tǒng)中,容易發(fā)生服務(wù)器受到多個(gè)客戶端訪問的情況,因此需要對(duì)變量進(jìn)行同步處理。而Java程序中的JVM,主要起到對(duì)多個(gè)線程分配使用權(quán)的作用,以此有效解決多線程阻塞的故障。因此,對(duì)系統(tǒng)中服務(wù)器的變量做同步處理,是相當(dāng)具有必要性。
3數(shù)據(jù)庫設(shè)計(jì)
此次基于Java平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì),數(shù)據(jù)表起到保護(hù)用戶姓名、年齡、密碼等基本信息的作用;用戶注冊(cè)成功之后,可以對(duì)自己圖像進(jìn)行修改;此外,為了提升系統(tǒng)的安全性和穩(wěn)定性,通常情況下不采取明文存儲(chǔ)形式的密碼存儲(chǔ);密碼在存入數(shù)據(jù)庫之前,就對(duì)密碼實(shí)行加密措施,數(shù)據(jù)庫中存入的結(jié)果是加密后的結(jié)果;密碼需要驗(yàn)證時(shí),用戶進(jìn)行密碼輸入時(shí)同樣對(duì)其進(jìn)行加密,通過同數(shù)據(jù)庫進(jìn)行對(duì)比,相同則可登陸。
綜上所述,在現(xiàn)有的網(wǎng)絡(luò)聊天軟件中,比如說QQ、微信等等,每種軟件各具特色,都能在人與人之間的溝通方式中扮演重要角色?;贘ava平臺(tái)的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì),能夠?qū)ava數(shù)據(jù)庫技術(shù)、網(wǎng)絡(luò)通信技術(shù)等特點(diǎn)充分結(jié)合,同時(shí)其安全穩(wěn)定的優(yōu)點(diǎn)保證用戶使用時(shí)更加放心,因此,Java技術(shù)具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1]張紅霞,陳鴻星.基于Java網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科技信息,2014,04:150-151
[2]郭文占.基于java平臺(tái)的網(wǎng)上評(píng)教系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2014(9):1928-1929
[3]陳盼,黃辰.基于Java的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,01:94-95
周波,1971年3月,男,漢族,籍貫:海口市,講師,單位:海南經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院,研究方向:多媒體技術(shù)及其應(yīng)用、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)技術(shù)、移動(dòng)通信、教育信息化技術(shù)等。
作者簡介
關(guān)鍵字:Java 網(wǎng)絡(luò)聊天 設(shè)計(jì)與實(shí)現(xiàn)