- 相關(guān)推薦
java實(shí)訓(xùn)聊天總結(jié)
關(guān)于JAVA聊天室編寫(xiě)的總結(jié)
在編寫(xiě)JAVA聊天室的過(guò)程中,讓我學(xué)到了很多東西,有知識(shí)方面的,而更多的是經(jīng)驗(yàn)。
從以前學(xué)習(xí)C,到現(xiàn)學(xué)習(xí)JAVA,有很多的地方不習(xí)慣。主要的就是思想不會(huì)轉(zhuǎn)變。但是還是有很多相似的地方,
比如,如何實(shí)現(xiàn)心中所想的東西時(shí),很多函數(shù)的編寫(xiě)的方法是類(lèi)似的,而不同的是JAVA多了繼承、多態(tài)、封裝等等
面向?qū)ο蟮臇|西。所以在整體構(gòu)思方面差異比較大,但是細(xì)節(jié)方面還是類(lèi)似的。
編寫(xiě)聊天室讓我對(duì)面向?qū)ο蟮牧私馑闶歉M(jìn)一步了。
首先:聊天室實(shí)現(xiàn)的就是聊天;用戶(hù)與用戶(hù)之間實(shí)現(xiàn)聊天的功能。
然后:對(duì)于聊天這個(gè)功能如何實(shí)現(xiàn)呢?
1、 要實(shí)現(xiàn)用戶(hù)與用戶(hù)之間的交流,必須要有一個(gè)通信實(shí)體做出“主動(dòng)姿態(tài)”,主動(dòng)接受來(lái)自其他通信實(shí)體的連接請(qǐng)求。這就是服務(wù)端。
2、 客戶(hù)端——用于連接到服務(wù)端,然后實(shí)現(xiàn)用戶(hù)之間的通信。
所以這里的服務(wù)器和客戶(hù)端便是兩個(gè)對(duì)象,它們能實(shí)現(xiàn)用戶(hù)之間的通信。
對(duì)于總體的構(gòu)思擦不多就是這樣。所以現(xiàn)在需要的便是一步一步的細(xì)化下去。、
一、 服務(wù)端
a) 服務(wù)端如何實(shí)現(xiàn)主動(dòng)接受其他通信實(shí)體的連接請(qǐng)求?
b) 如何實(shí)現(xiàn)客戶(hù)端之間信息的收發(fā)?
c) 服務(wù)端應(yīng)該有些什么樣的功能呢?
二、 客戶(hù)端
a) 如何連接到服務(wù)端?
b) 客戶(hù)端應(yīng)該有些什么樣的功能?
當(dāng)慢慢的思考下去,思想便會(huì)慢慢的清楚。
再開(kāi)始編寫(xiě)的時(shí)候,其實(shí)頭是亂的,摸不著頭緒,因?yàn)槟菚r(shí)候開(kāi)始的時(shí)候便在想:如何寫(xiě)連接?如何寫(xiě)收發(fā)信息?如何寫(xiě)連接?等等。也許這就是學(xué)C的時(shí)候的習(xí)慣思想,那時(shí)候?qū)戇^(guò)的最大的程序便是俄羅斯方塊,其余的便是在搞算法。不過(guò)當(dāng)自己慢慢的習(xí)慣JAVA的編程思想之后,便是好多了。
對(duì)于服務(wù)端和客戶(hù)端的設(shè)計(jì)
1、 服務(wù)器端的主要功能:
a) 在特定的端口上進(jìn)行監(jiān)聽(tīng),等待客戶(hù)端連接。
b) 默認(rèn)端口為30000 。
c) 向已經(jīng)連接到服務(wù)的用戶(hù)發(fā)送系統(tǒng)消息。
d) 統(tǒng)計(jì)在線(xiàn)人數(shù)。
e) 當(dāng)停止服務(wù)器時(shí),斷開(kāi)所有的用戶(hù)連接。
2、 客戶(hù)端的主要功能:
a) 連接到已經(jīng)開(kāi)啟的聊天服務(wù)的服務(wù)端。
b) 用戶(hù)可以配置連接后顯示的用戶(hù)名。
c) 當(dāng)服務(wù)器端開(kāi)啟的話(huà),用戶(hù)可以隨時(shí)登陸和注銷(xiāo)。
d) 用戶(hù)可以向所有人或者某一個(gè)人發(fā)送消息。
主要類(lèi)和方法:
一、服務(wù)端:
1、ChatSever 便是服務(wù)器的主框架了。包括服務(wù)器的屬于的定義、
組件的組合、事件的處理等等。
2、ServerListen 類(lèi)是服務(wù)端的監(jiān)聽(tīng)類(lèi)。監(jiān)聽(tīng)客戶(hù)端是否連接。
3、ServerReceive 類(lèi)是接收和發(fā)送客戶(hù)端、服務(wù)端的消息。
4、LNode 類(lèi)封裝了用戶(hù)的屬性。
5、UserLinkList 類(lèi)則是封裝了對(duì)用戶(hù)操作的方法。如:添加、查找、刪除等;
6 ServerHelp 類(lèi)這是幫助板塊。
二、客戶(hù)端
1、Client 類(lèi) 則是客戶(hù)端的主要框架。
2、UserSet 類(lèi) 是對(duì)用戶(hù)名的設(shè)置和修改。
3、ClientReceive 類(lèi) 實(shí)現(xiàn)客戶(hù)端和服務(wù)端消息的收發(fā)。
4、ClientHelp 類(lèi) 這是幫助板塊。
(具體代碼就不發(fā)了,太多了。。)
對(duì)于聊天室的編寫(xiě)部分已經(jīng)完成了,接下來(lái)便是完善它的功能和修復(fù)它的一些BUG。因?yàn)榘l(fā)現(xiàn)有很多地方有BUG:
1、 客戶(hù)端無(wú)法接收到服務(wù)端發(fā)出的系統(tǒng)消息。
2、 服務(wù)端無(wú)法收到客戶(hù)端下線(xiàn)的消息,導(dǎo)致服務(wù)端無(wú)法刪除以下線(xiàn)的客戶(hù)端。所以客戶(hù)端連接重復(fù)。
3、 當(dāng)服務(wù)端停止服務(wù)時(shí),客戶(hù)端未斷線(xiàn)。
4、 客戶(hù)端不能接收到其他客戶(hù)端的上線(xiàn)和下線(xiàn)消息。
目前發(fā)現(xiàn)的BUG就是以上幾個(gè)。同時(shí)除了BUG以外,還發(fā)現(xiàn)很多的不足:
1、 客戶(hù)端的IP設(shè)置是不能改變的,所以當(dāng)服務(wù)端換IP時(shí),客戶(hù)端需要從源代碼中去修改,導(dǎo)致不方便。
2、 服務(wù)端、客戶(hù)端沒(méi)有設(shè)置快捷按鈕,導(dǎo)致每次啟動(dòng)都要通過(guò)“菜單”來(lái)啟動(dòng)和連接。
3、 所有的表現(xiàn)都是以文字表現(xiàn)的不能接收和發(fā)送圖片。
以上是目前發(fā)現(xiàn)的不足點(diǎn)。希望能在修改之后得到完善。
JAVA實(shí)訓(xùn)心得
在本學(xué)期的最后一周,我們?cè)趯W(xué)校機(jī)房進(jìn)行了為期一周的JAVA實(shí)訓(xùn)。現(xiàn)在即將結(jié)束了,回首本學(xué)期的java學(xué)習(xí),重點(diǎn)還是在學(xué)習(xí)概念等一些常識(shí)性的東西,Application應(yīng)用程序和Applet小程序,它的開(kāi)發(fā)工具,數(shù)據(jù)類(lèi)型,變量,接口,輸入輸出流,學(xué)會(huì)分析異常,拋出異常,后期主要是小程序運(yùn)用,Gui界面設(shè)計(jì)和事件。我覺(jué)得這兩種程序結(jié)構(gòu)有很大的不同,不管是體系結(jié)構(gòu)還是運(yùn)行方式,都有很大的區(qū)別,我主要偏向于小程序的學(xué)習(xí),呵呵,因?yàn)楦杏X(jué)它用處比較大,可以做出好多好多好玩的游戲,運(yùn)用程序等,且它靈活。呵呵,當(dāng)然學(xué)知識(shí)可不能憑自己的愛(ài)好和一時(shí)興趣,要一步一個(gè)腳印,認(rèn)認(rèn)真真,踏踏實(shí)實(shí),理論與實(shí)踐相結(jié)合,在扎實(shí)掌握課本實(shí)例和內(nèi)容之后,有一定的擴(kuò)展閱讀和課外學(xué)習(xí),充分全面的了解JAVA的應(yīng)用和擴(kuò)展運(yùn)用。
在我所學(xué)的語(yǔ)言當(dāng)中,我自認(rèn)為JAVA是一門(mén)比較強(qiáng)大的面向?qū)ο蟮木幊陶Z(yǔ)言,不僅僅因?yàn)樗目缙脚_(tái)性,更多的是因?yàn)樗撵`活多變和實(shí)用性較強(qiáng),可以說(shuō)比較的經(jīng)典和強(qiáng)悍。
所以學(xué)好java語(yǔ)言有很大的用處,這次實(shí)訓(xùn),面對(duì)一道陌生的題目和要求時(shí),不應(yīng)慌張和無(wú)措,首先應(yīng)該想到這和課本上的哪些知識(shí)具有結(jié)合點(diǎn),回憶和分析這種結(jié)構(gòu)的算法和具體實(shí)施方法,綜合考慮其他的方面,例如:該題的易寫(xiě)性和易懂性及其他的問(wèn)題的可利用性。在編寫(xiě)時(shí),一個(gè)小小的符號(hào),一個(gè)常量變量的設(shè)定,這都無(wú)不考量著我們的細(xì)心和嚴(yán)謹(jǐn),所以學(xué)習(xí)JAVA,不僅對(duì)我們以后學(xué)習(xí)其他語(yǔ)言有很大的好處,而且也讓我們知道了和理解了作為一個(gè)編程人員首先應(yīng)具有的良好心理素質(zhì),那就是冷靜思考和專(zhuān)心致志。對(duì)待學(xué)術(shù)知識(shí)應(yīng)該是嚴(yán)謹(jǐn)和認(rèn)真。
這次實(shí)訓(xùn),我們更多學(xué)到的是不懂就問(wèn)和自己應(yīng)該盡自己的全力去嘗試,哪怕失敗,只要自己盡自己的全力,和身邊同學(xué)一起探討而不是抄襲,團(tuán)結(jié)合作,發(fā)揮團(tuán)隊(duì)意識(shí),最后在自己的努力下,終于運(yùn)行成功,這種成就感美不可言,心情愉悅至極。
最后終于要結(jié)束了,大家都有種釋?xiě)训母杏X(jué),當(dāng)然我想我更多的是興奮和自己掌握了知識(shí)之后的飽滿(mǎn)感,學(xué)知識(shí)就像吃東西一樣,吃飽了就應(yīng)該好好的消化。要不斷的溫習(xí)和運(yùn)用,做到舉一反三,將所學(xué)知識(shí)充分融入到平時(shí)的學(xué)習(xí)生活中去,為以后的工作做好堅(jiān)實(shí)的基礎(chǔ)。感謝學(xué)校和老師能夠?yàn)槲覀兲峁┻@次機(jī)會(huì),讓我們更好的掌握和了解JAVA這門(mén)語(yǔ)言。謝謝!
【java實(shí)訓(xùn)聊天總結(jié)】相關(guān)文章:
java實(shí)訓(xùn)聊天系統(tǒng)報(bào)告總結(jié)10-08
java專(zhuān)業(yè)實(shí)訓(xùn)總結(jié)11-17
java實(shí)訓(xùn)個(gè)人總結(jié)11-17
java實(shí)訓(xùn)總結(jié)收獲10-08
java實(shí)訓(xùn)的自我總結(jié)10-05
java實(shí)訓(xùn)工作總結(jié)06-23
java實(shí)訓(xùn)報(bào)告總結(jié)400010-06