畢業(yè)論文(設(shè)計)·結(jié)束語
-張不斷? 2010年5月
終于把論文寫好了并上交了赴捞,大學(xué)結(jié)束了揽乱,要好好玩一場……
以下是我在畢業(yè)論文(設(shè)計)《基于Java的網(wǎng)絡(luò)即時通信系統(tǒng)——SQ的設(shè)計與實現(xiàn)》里的結(jié)束語——
畢業(yè)設(shè)計(論文)終于到了寫結(jié)束語階段吭从,內(nèi)心是一種如釋重負(fù)的興奮痢站。回望將近三個月的開發(fā)歷程尝江,感慨頗多。系統(tǒng)的功能挺多的值纱,顯得有些龐大鳞贷,如果一開始就看到會有這樣的結(jié)果,或許已經(jīng)望而止步了虐唠。
SQ網(wǎng)絡(luò)即時通信系統(tǒng)開發(fā)是一個不斷探索搀愧、不斷調(diào)試、不斷改進(jìn)的過程疆偿。在選課題階段咱筛,對Java Socket編程只有膚淺的認(rèn)識,而對類似于QQ的即時通信軟件的功能實現(xiàn)原理更是不甚了解杆故,只是覺得有趣迅箩,認(rèn)為里面有很多關(guān)于網(wǎng)絡(luò)的、編程的知識很值得研究处铛,于是便確定了網(wǎng)絡(luò)即時通信系統(tǒng)這個課題作為我的畢業(yè)設(shè)計課題饲趋。
接下來,憑著滿腔熱情和一股韌勁撤蟆,硬是把人民郵電出版社出的《Java信息管理系統(tǒng)開發(fā)實例導(dǎo)航》(求是科技 編著奕塑,2005.4)一書第5章的“網(wǎng)絡(luò)即時通信系統(tǒng)”啃了個透,反反復(fù)復(fù)的閱讀和調(diào)試源碼家肯,整個程序就1個包龄砰,包內(nèi)是7個類,總共不到2000行的代碼讨衣。那時候覺得把這個程序讀懂就已經(jīng)很了不起了换棚,算得上牛人一個了。現(xiàn)在看來反镇,那只是一個功能簡單的小程序固蚤。當(dāng)然,最終開發(fā)出的系統(tǒng)是在這個程序的基礎(chǔ)上改來歹茶,從簡單的布局到復(fù)雜美觀的界面夕玩,從JDBC的數(shù)據(jù)庫操作到Hibernate、 Spring集成的持久層實現(xiàn)辆亏,從只能發(fā)送英文(中發(fā)送中文會出現(xiàn)亂碼)到發(fā)送中文、表情鳖目,從寥寥數(shù)個存在若干毛病的功能到到系統(tǒng)托盤扮叨、截屏、SQ群聊天室领迈、網(wǎng)絡(luò)涂鴉板彻磁、智能時鐘和聊天機器人等眾多功能碍沐,不過,仍然感謝該書的作者和出版社衷蜓。另外一本書累提,清華大學(xué)出版社出的杜佳榮等編著的《Java網(wǎng)絡(luò)編程技術(shù)與實踐》也是SQ系統(tǒng)開發(fā)過程中的一本很具價值的參考書,里面的“基于Socket開發(fā)的Java網(wǎng)絡(luò)五子棋”磁浇、“基于Swing的網(wǎng)絡(luò)白板”和“基于TCP協(xié)議的Java Swing網(wǎng)絡(luò)聊天室”三個例子為SQ系統(tǒng)中的“網(wǎng)絡(luò)涂鴉板”和“SQ群”兩個模塊提供了許多原始代碼素材斋陪,是我在SQ系統(tǒng)開發(fā)過程中的一位引路人。此外置吓,也啃了很多其他相關(guān)的書籍和網(wǎng)絡(luò)資料无虚,在網(wǎng)絡(luò)上下載了許多Java Socket通信程序來調(diào)試、學(xué)習(xí)衍锚。課題的前階段基本上就是這樣友题,在對著相關(guān)技術(shù)狼吞虎咽的日子中度過的。很費勁戴质,但收獲很豐碩度宦。
看得多了,慢慢地開了竅告匠,相關(guān)技術(shù)資料也有一定的積累戈抄,馬克思說過,量變到一定的程度要發(fā)生質(zhì)變凫海,于是開始嘗試把若干功能進(jìn)行整合到一起呛凶。看起來很簡單行贪,做起來著實不容易漾稀,程序出的錯比我吃的飯還多。好不容易才弄出些成果來建瘫。接下來就是按自己的想法或者說是按論文的需求分析崭捍,去深度地修改代碼、自已寫代碼啰脚,使那些幼稚的程序慢慢的融合殷蛇、成長成為一個有著不錯功能的有機整體、有活力的通信系統(tǒng)橄浓,就是現(xiàn)在所看到的SQ即時通信系統(tǒng)粒梦。
總的來說,編程階段是一個異域常艱苦和繁瑣的過程荸实,需要對著顯示器反反復(fù)復(fù)的調(diào)試代碼匀们,而且許多相關(guān)技術(shù)都是一邊學(xué)一邊用,摸著石子過河准给,不定期的會遭遇技術(shù)寒流泄朴,被凍得半死不活重抖,本就沒有陽光的世界(老呆是在室內(nèi),電腦面前)里更加的漆黑一片祖灰。幸運的是钟沛,往往會是這樣一種情況,在絕望的邊緣局扶,再咬一咬牙恨统,無預(yù)兆的就會從柳暗絕地閃入花明世界,內(nèi)心狂笑的那種感覺妙不可言详民。大嘆:技術(shù)這玩意延欠,只要去啃,總能咽得下沈跨。
可是由捎,時間這東西,它不等人饿凛。三個月的時間實在太有限了狞玛,所以SQ系統(tǒng)最終還存在許多未能解決的毛病和未能實現(xiàn)的功能。在安全性問題上做得就很不足涧窒,有許多需要驗證的地方都沒驗證心肪,比如用戶注冊時,密碼的長度纠吴、字符類型等都沒有設(shè)置硬鞍,郵箱的格式也沒用正則表達(dá)式進(jìn)行限制,同一個用戶可以在同時登錄多個客戶端戴已。未實現(xiàn)的功能主要有三個:離線消息固该,聊天記錄和備忘記錄。
對多線程的認(rèn)知糖儡,仍然不透徹伐坏,最直接的表現(xiàn)是,在SQ客戶端啟動臨時的網(wǎng)絡(luò)白板的服務(wù)器端握联,會使得該客戶端崩潰桦沉,至今尚未找到解決這個難題的方法,只好采用要求用戶在SQ客戶端之外運行再運行網(wǎng)絡(luò)白板的服務(wù)器端程序的折衷方案金闽。但是纯露,這個難題,理論上是可以解決的代芜,因為傳輸文件時埠褪,客戶端就是啟動一個線程,然后再在這個線程之內(nèi)創(chuàng)建一個服務(wù)器端(ServerSocekt)等待對方客戶端與之連接,再然后把文件能過流傳給對方组橄。當(dāng)前市面上的QQ就可以支持用戶一邊傳輸大數(shù)據(jù)文件或者給對方播放影音文件,一邊聊天或進(jìn)行其他操作罚随。
系統(tǒng)存在的其他問題和不足在論文中已經(jīng)提到玉工,這里不再一一列舉。
寫論文也是一件很傷腦筋的事淘菩,最后這段時候可謂為伊消得人憔悴遵班。好的論文都是改出來的,雖然這我這篇論文不算出色潮改,卻也增刪五次狭郑,期間多得劉宇芳老師的指導(dǎo)和督促,不然也不會有這么多詳細(xì)的流程圖汇在。之前覺得畫流程圖是件很無聊的事翰萨,但畫完了,再回過頭來看糕殉,發(fā)現(xiàn)亩鬼,其實這是一個總結(jié)和重新認(rèn)知的過程(當(dāng)然了,理論上流程圖是在開發(fā)系統(tǒng)之前就要畫好的)阿蝶,有一些方法雳锋,由于是泊來品,比如傳輸文件羡洁,在用當(dāng)時玷过,只道是尋常,但為其畫流程圖之時筑煮,回過頭來斟酌辛蚊,比當(dāng)初的囫圇吞棗更來得津津有味。
還有一點想說咆瘟,通過SQ小系統(tǒng)的開發(fā)嚼隘,越來越體會到得騰訊QQ功能之強大,到底是世界上頂尖的即時通信工具袒餐,我的SQ在它的面前飞蛹,真是Smaller又Smaller。衷心祝愿騰訊這位企鵝帝國灸眼、Web2.0之集大成者卧檐,在一0年代的這個正面臨著一場技術(shù)革命的IT領(lǐng)域里,抓住移動軟件焰宣、云計算應(yīng)用霉囚、社交網(wǎng)絡(luò)三個新興產(chǎn)業(yè)的商機,引領(lǐng)中國成為世界舞臺上的巨人匕积,強過印度盈罐,強過日本榜跌。
緊張而忙碌的畢業(yè)設(shè)計就要結(jié)束了,大學(xué)生涯也將畫上一個句號盅粪。本次畢業(yè)設(shè)計的所涉及的相關(guān)技術(shù)知識不一定對后工作有所幫助钓葫,但這個過程所鍛煉出來的意志力、學(xué)習(xí)能力以及解決問題的能力票顾,毫無疑問础浮,是我將來工作生活的一塊奠基石。