【正文】
n 0。}res_ptr=mysql_use_result(amp。my_connection)。if (!res_ptr){coutStore Errorendl。}while((sqlrow=mysql_fetch_row(res_ptr))){field_count=0。while(field_countmysql_field_count(amp。my_connection)){s=sqlrow[field_count]。fprintf(fd,%s ,())。field_count++。}}fclose(fd)。}數(shù)據(jù)庫操作過程示意圖:進入數(shù)據(jù)庫后我們可以看到,數(shù)據(jù)庫中Table中無相應信息。圖412 數(shù)據(jù)庫截圖1圖413 數(shù)據(jù)庫截圖2執(zhí)行數(shù)據(jù)庫操作函數(shù)圖414 數(shù)據(jù)庫截圖3數(shù)據(jù)庫操作后,向表中插入對應項目圖415 數(shù)據(jù)庫截圖4上述過程演示了數(shù)據(jù)庫操作的工程,主要目的是對注冊的用戶信息進行保存,將用戶信息保存后,在下次重新啟動服務器后,服務器讀取數(shù)據(jù)庫中的信息,即可利用其中存在的信息。5 結論 教訓及經(jīng)驗總結在使用 Linux基于C++語言進行系統(tǒng)開發(fā)的過程中,不斷地遇到問題解決問題,遇到問題再解決問題, 這樣不斷積累編程方面的技巧,是系統(tǒng)的設計逐步完善,同時也為以后作為好的編程人員打下了基礎。做一個成功的系統(tǒng)最重要的是要做好系統(tǒng)分析:系統(tǒng)開發(fā)的關鍵在于對系統(tǒng)進行需求分析,在開發(fā)一個系統(tǒng)的初期,首先要對系統(tǒng)的 整個工作流程,需要實現(xiàn)的功能,用戶的需求等進行充分的分析。在做好需求分析的前提 下才能順利的完成整個系統(tǒng)的開發(fā),否則可能會在開發(fā)的過程中出現(xiàn)不斷修改不斷出錯的 問題,這將給系統(tǒng)的開發(fā)帶來很大的麻煩,甚至直到最后也未能達到理想的開發(fā)效果。因此按照老師的要求我們先寫了畢業(yè)設計任務書,將設計目標及預計實現(xiàn)的功能填入任務書中,同時將實現(xiàn)的功能模塊的工作任務順序?qū)懴聛恚鞔_今后的設計任務,使得我們的設計及時的完成。 總結本文所設計的Linux基于C++語言的即時通訊軟件,主要功能是能夠完成服務器與客戶端之間的連接,并完成客戶端用戶之間的即時通訊,軟件主要包括以下幾個功能: 用戶登錄和注冊管理;好友列表的展開;添加刪除好友操作;離線文本消息的傳說;即時文本消息的互相傳送;服務器錯誤日志;用數(shù)據(jù)庫和文件的形式保存用戶信息。在完成這些功能的同時,本文主要解決了一下幾個方面的關鍵問題:系統(tǒng)采用了傳統(tǒng)的客戶端、服務器網(wǎng)絡組織模式,并且設計了基于中心服務器模式的 P2P 客戶端,在客戶端與服務器建立連接完成以后,通訊在用戶與好友間直接點到點的連接與通信,從而大大減輕了服務器端得負荷??蛻舳说脑O計中還采用服務器連接中轉的方案進行文本消息的傳送。客戶端和服務器使用ICE中間件,客戶端使用QT圖形界面設計實現(xiàn),使得軟件有了很好的可移植性。將Linux下基于C++語言的即時通訊軟件系統(tǒng)作為我畢業(yè)設計的課題,是對我?guī)啄陮W習中理論知識和實踐相結合的一次綜合檢驗。通過這次畢業(yè)設計,開發(fā)本系統(tǒng)使我受益匪淺。在本次設計的全過程中,我對四年所學的知識有了一個比較系統(tǒng)的認識和理解。涉及了各方面的知識,大大擴展了我的知識面,同時是我學會了如何使用所學的知識去解決一些實際的問題,在設計中我深知自己掌握的知識還遠遠不夠,掌握的一些理論知識應用到實踐中去,總會出現(xiàn)這樣或那樣的問題,不是理論沒有掌握好,而是光知道書本上的知識是遠遠不夠的,一定要把理論知識和實踐結合起來。把學到的知識應用到時間中去,多做多練,才可以把理論的精華發(fā)揮出來。知識不是知道,了解就好,一定要去應用它,發(fā)展它,讓它在現(xiàn)實生活中得到充分的應用,從而解決一些問題,這才是學習的根本目的。而且知識不是單一的, 它是互相聯(lián)系的,學科與學科之間都有著內(nèi)在的聯(lián)系。計算機是一門非常復雜且龐大的學科,一項課題往往需要多項技術才可以完成的。在設計階段,通過對課題的深入分析與研究,迫使我對技術有了一定的了解。在遇到問題時,得到了指導老師與同學的悉心幫助,畢業(yè)設計(論文) 使我感受到集體的力量是無窮的。 通過這次設計,我學會了和別人配合工作, 因為一個人所學的知識不可能面面俱到的, 只有通過合作,發(fā)揮自己的優(yōu)點,體現(xiàn)團隊精神,才能使工作做得更為出色。通過這次設計,我學到了許多書本上學不到的知識,增強了自己的動手能力。即將畢業(yè)我十分珍惜這次鍛煉的機會,由于自己的知識水平有限,分析設計和程序經(jīng)驗不足,在該系統(tǒng)的設計和 實現(xiàn)過程中,還有許多沒有完善的地方,界面設計比較簡單也不夠美觀,功能模塊比較單一,這些都有待進一步完善和提高。對于文中出現(xiàn)的不足和系統(tǒng)中出現(xiàn)的問題懇請老師多多指導。 當今的社會是競爭的社會,而人才的競爭則是競爭的焦點,畢業(yè)設計對于我們即將離校的同學來說,是離校前很好的一次鍛煉,使我們各方面的能力都有了很大的提高,為我們踏出校門,走上社會增強了能力與自信!過理論聯(lián)系實際,鞏固所學的知識,提高處理實際問題的能力,了解設計專題的主要內(nèi)容,為畢業(yè)設計的順利進行做好充分的準備,并為自己能順利與社會環(huán)境接軌做準備。參考文獻[1] Bjarne Stroustrup, THE C++ PROGRAMMING LANGUAGE[M], Higher Education Press Pearson Education,2002[2] [美]Walter Savitch著,周靖譯,C++面向?qū)ο蟪绦蛟O計[M]——基礎、數(shù)據(jù)結構與編程思想,清華大學出版社,2004[3] 陳文宇,張松梅編著,C++語言教程[M],電子科技大學出版社,2004[4] 譚浩強編著,C++程序設計[M],清華大學出版社,2004[5] 掌握標準C++的類(電子版)[M],化境編程界[6] 陳英,梁建武,Linux 基礎及應用教程[M], 水利水電出版社,2008,29-42 [7] 丁林松,黃麗琴, Qt4 圖形設計與嵌入式開發(fā)[M], 人民郵電出版社,2009,45 -69[8] 金西,黃汪, 嵌入式 Linux 技術及其應用[M], 計算機應用,2000,20(7):5-6[9] 倪繼利, Qt 以及 linux 操作系統(tǒng)窗口設計[M], 電子工業(yè)出版社,2006,45-152[10] 孫瓊, 嵌入式 Linux 應用程序開發(fā)詳解[M],北京:人民郵電出版社,2006 11[11] 王子強,劉海燕,李媛州, Linux 下圖形用戶界面程序的開發(fā)與實現(xiàn)[M],計算機 應用與軟件,2005[12] 謝春,陶燁,瞿坦, 基于嵌入式 Linux 系統(tǒng)的多進程圖形用戶界面 GUI 系統(tǒng)研究[M], 工業(yè)控制計算機,2003,5:28-29[13] Booch, G., et al. 1998. Unified Modeling Language User Guide[M]. Reading, MA: AddisonWesley.[14] Gamma, E., et al. 1994. Design Patterns[M]. Reading, MA: AddisonWesley.[15] Grimes, R. 1998. Professional DCOM Programming[M]. Chicago, IL: Wrox Press.[16] Henning, M., and S. Vinoski. 1999. Advanced CORBA Programming with C++[M]. Reading, MA: AddisonWesley.[17] Housley, R., and T. Polk. 2001. Planning for PKI: Best Practices Guide for Deploying Public Key Infrastructure[M]. Hoboken, NJ: Wiley.[18] Institute of Electrical and Electronics Engineers[M]. 1985. IEEE 7541985 Standard for Binary FloatingPoint Arithmetic. Piscataway, NJ: Institue of Electrical and Electronic Engineers.外文原文Ice Distributed ProgrammingInternet Communications Engine (Ice) is a modern distributed puting platform with support for C++, .NET, Java, Python, ObjectiveC, Ruby, PHP, and ActionScript. Ice is used in missioncritical projects by panies all over the world.Ice is easy to learn, yet provides a powerful network infrastructure and vast array of features for demanding technical applications.Ice is free software, available with full source, and released under the terms of GNU General Public License (GPL). Commercial licenses. AAn Overview of the Ice Platform:The Ice Approach: Flexible and SimpleIce provides a munication solution that is simple to understand and easy to program with. Yet, despite its simplicity, Ice is flexible enough to acmodate even the most demanding and missioncritical applications.CuttingEdge TechnologyIce was designed and implemented by industry experts with many years of distributed puting experience. ZeroC39。s classleading technology is flexible, easy to use, robust, and provides superior performance and scalability.Programming LanguagesIce allows you to write your distributed applications in C++, Java, C (and other .NET languages, such as Visual Basic), Python, Ruby, PHP, and ActionScript. With Ice Touch, your application can include ObjectiveC ponents that run on the iPhone, iPad, and iPod touch, while Ice for Java can also be used to build Ice applications for Android. IceE allows you to deploy C++ ponents on resourceconstrained devices running Gumsticks or Windows Mobile Professional. (IceE applications must be written in C++.) This makes Ice the platform of choice for heteregeneous distributed systems that span multiple operating systems and programming languages.APIsIce provides a set of APIs that emphasize simplicity and ease of use. All APIs are threadsafe and exceptionsafe, and the C++ APIs make it very difficult to leak or corrupt memory. This shortens development time, decreases testing effort, and reduces time to market.The APIs for the various programming languages (apart from a very small number of exceptions) are identical: for example, if you know the API for Java, you also know the API for C++ and C (and any other supported programming language). For systems written in m