版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 學(xué) 生 畢 業(yè) 論 文</p><p><b> ?。?011屆)</b></p><p> 摘要:在線聊天通訊是當(dāng)今廣泛應(yīng)用的一種網(wǎng)絡(luò)服務(wù),它為互聯(lián)網(wǎng)用戶提供了一種方便快捷的溝通方式,在線聊天通訊已經(jīng)成為了上網(wǎng)的重要活動之一。本畢業(yè)設(shè)計提出的基于PHP的在線聊天通訊軟件能夠為用戶提供方便、文明的聊天環(huán)境。本畢業(yè)設(shè)計采用PHP和MySQL技術(shù)開
2、發(fā)了在線聊天通訊軟件。這個軟件具有多用戶聊天、顯示在線人數(shù)、敏感詞屏蔽、聊天記錄下載和基于IP地址的地理位置顯示功能。軟件完成后,在APMServ5.2.6搭建的Apache、PHP、MySQL網(wǎng)站服務(wù)器平臺進行測試,各種模塊功能均能正常使用,達到預(yù)期的效果。</p><p> 關(guān)鍵詞:在線聊天;聊天記錄下載;顯示在線人數(shù);敏感詞屏蔽</p><p> Abstract: Online
3、 chat communication is widely used today as a network service that provide Internet users a convenient way to communicate, online chat communication has become an important event of the Internet. The graduation project p
4、ropose online chat communication software based on PHP to provide users with convenient, civilized chat environment. The graduation project using PHP and MySQL technology develop the online chat communication software.
5、This software has a multi-user chat, online </p><p> Keywords:online chat;the chats download;display the number of online;the sensitive words shielded</p><p><b> 目錄</b></p>
6、<p><b> 1. 課題背景1</b></p><p> 1.1 PHP簡介1</p><p> 1.2 MySQL簡介1</p><p> 1.3 Apache簡介2</p><p> 1.4 課題研究的目的和意義3</p><p> 2. 軟件需求分析3&
7、lt;/p><p> 2.1 功能需求3</p><p> 2.2 性能需求3</p><p> 3. 軟件的運行環(huán)境設(shè)計3</p><p> 3.1 軟件的運行環(huán)境3</p><p> 3.2 軟件的調(diào)試3</p><p> 4. 系統(tǒng)模塊設(shè)計4</p>&l
8、t;p> 4.1視圖界面設(shè)計4</p><p> 4.2 聊天模塊設(shè)計4</p><p> 4.3 聊天記錄下載模塊設(shè)計5</p><p> 4.4 顯示在線人數(shù)模塊設(shè)計6</p><p> 4.5 敏感詞屏蔽模塊設(shè)計7</p><p> 4.6 基于IP地址的地理位置顯示模塊設(shè)計7<
9、;/p><p> 5. 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計7</p><p> 5.1 數(shù)據(jù)庫的設(shè)計7</p><p> 5.2 本軟件數(shù)據(jù)庫建表代碼8</p><p><b> 6. 軟件測試9</b></p><p> 6.1 測試環(huán)境9</p><p> 6.2 測試方
10、法9</p><p> 6.3 測試結(jié)果9</p><p><b> 7. 結(jié)束語10</b></p><p><b> 參考文獻11</b></p><p><b> 致謝12</b></p><p> 基于PHP的在線聊天通訊軟件
11、</p><p><b> 1. 課題背景</b></p><p><b> 1.1 PHP簡介</b></p><p> 1.1.1 什么是PHP</p><p> PHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,
12、是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,被廣泛的運用。PHP的另一個含義是:菲律賓比索的標準符號。</p><p> 1.1.2 PHP語法</p><p> PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到
13、HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。PHP具有非常強大的功能,所有的CGI的功能PHP都能實現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)[1]。</p><p> 1.1.3 PHP特性</p><p><b> PHP的特性包括:</b></p&g
14、t;<p> ?。?)開放的源代碼:所有的PHP源代碼事實上都可以得到。</p><p> ?。?)PHP是免費的:和其它技術(shù)相比,PHP本身免費。</p><p> (3)PHP的快捷性:程序開發(fā)快,運行快,技術(shù)本身學(xué)習(xí)快。嵌入HTML:因為PHP可以嵌入HTML語言,它相對于其他語言,編輯簡單,實用性強,更適合初學(xué)者。</p><p> (4)
15、跨平臺性強:由于PHP是運行在服務(wù)器端的腳本,可以運行在UNIX、LINUX、WINDOWS下。</p><p> ?。?)效率高:PHP消耗相當(dāng)少的系統(tǒng)資源。</p><p> ?。?)圖像處理:用PHP動態(tài)創(chuàng)建圖像。</p><p> ?。?)面向?qū)ο螅涸赑HP4,PHP5中,面向?qū)ο蠓矫娑加辛撕艽蟮母倪M,現(xiàn)在PHP完全可以用來開發(fā)大型商業(yè)程序。</p&g
16、t;<p> (8)專業(yè)專注:PHP支持腳本語言為主,同為類C語言。</p><p> 1.2 MySQL簡介</p><p> 1.2.1 什么是MySQL</p><p> MySQL是一個備受歡迎的高性能、多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器,它是一個客戶機/服務(wù)器結(jié)構(gòu)的實現(xiàn),由一個服務(wù)器守護程序MySQL和多種不同的客戶程序及庫組成。它由M
17、ySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式結(jié)合開源價值和方法論的第二代開源公司,MySQL是MySQL AB的注冊商標。</p><p> MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。MySQL網(wǎng)站(http://www.mysql.com)提供了關(guān)于MySQ
18、L和MySQL AB的最新的消息。</p><p> 1.2.2 MySQL的特征</p><p> MySQL有如下主要特征:</p><p> ?。?)多線程,MySQL的核心程序采用完全的多線程編程。線程是輕量級的進程,它可以靈活地為用戶提供服務(wù),而不過多的消耗系統(tǒng)資源。用多線程和C語言實現(xiàn)的MySQL能很容易充分利用CPU,可以采用多CPU體系結(jié)構(gòu)。&l
19、t;/p><p> ?。?)開放源代碼,MySQL是自由的開放源代碼產(chǎn)品,可以在GPL下暢通使用。</p><p> (3)多操作系統(tǒng)支持,MySQL可運行在不同的操作系統(tǒng)下。簡單地說,MySQL可以支持Windows95/98/NT/2000及UNIX、Linux和SUN OS等多種操作系統(tǒng)平臺。這意味著在一個操作系統(tǒng)中實現(xiàn)的應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。 </p>
20、<p> ?。?)性能高效穩(wěn)定,MySQL擁有一個非常快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用而不必擔(dān)心其穩(wěn)定性。事實上,MySQL的穩(wěn)定性足以應(yīng)付一個超大規(guī)模的數(shù)據(jù)庫,因此Yahoo、Google、Cisco、HP和NASA都采用它作為自己的數(shù)據(jù)庫引擎。</p><p> ?。?)多用戶支持,MySQL可有效地滿足50~1000個并發(fā)用戶的訪問,并且在超過600個用戶限度的情況下,MySQ
21、L的性能沒有明顯的下降。</p><p> ?。?)應(yīng)用程序支持,有C、C++,JAVA、Perl、PHP和Python等多種客戶工具和API的支持。</p><p> ?。?)支持事務(wù)處理、行鎖定、子查詢、外鍵和全文檢索等功能。</p><p> ?。?)MySQL支持大型的數(shù)據(jù)庫處理,可以方便地支持上萬條記錄的數(shù)據(jù)庫。作為一個開放源代碼的數(shù)據(jù)庫,MySQL可以針
22、對不同的應(yīng)用進行相應(yīng)的修改。</p><p> ?。?)MySQL有一個非常靈活而且安全的權(quán)限和口令系統(tǒng)。當(dāng)客戶與MySQL服務(wù)器連接時,他們之間所有的口令傳送被加密,而且MySQL支持主機認證[2]。</p><p> MySQL是數(shù)據(jù)庫領(lǐng)域的中間派。它缺乏一個全功能數(shù)據(jù)庫的大多數(shù)主要特征,但是又有比類似Xbase記錄存儲引擎更多的特征。它類似于企業(yè)級RDBMS需要一個積極的服務(wù)者守護
23、程序,但又不是非常消耗資源。</p><p> 1.3 Apache簡介</p><p> 1.3.1 什么是Apache</p><p> Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。</p><p> Apache有
24、多種產(chǎn)品,可以支持SSL技術(shù),支持多個虛擬主機。Apache是以進程為基礎(chǔ)的結(jié)構(gòu),進程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個Apache Web站點擴容時,通常是增加服務(wù)器或擴充群集節(jié)點而不是增加處理器。到目前為止Apache仍然是世界上用的最多的Web服務(wù)器,市場占有率達60%左右。</p><p> 1.3.2 Apache web服務(wù)器的特性</p><p&g
25、t; Apache web服務(wù)器軟件擁有以下特性:支持最新的HTTP/1.1通信協(xié)議;擁有簡單而強有力的基于文件的配置過程;支持通用網(wǎng)關(guān)接口;支持基于IP和基于域名的虛擬主機;支持多種方式的HTTP認證;集成Perl處理模塊;集成代理服務(wù)器模塊;支持實時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志;支持服務(wù)器端包含指令(SSI);支持安全Socket層(SSL);提供用戶會話過程的跟蹤;支持FastCGI;通過第三方模塊可以支持Java Servl
26、ets。</p><p> 1.4 課題研究的目的和意義</p><p> 計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,使人們的通訊方式產(chǎn)生了很大的變化,使得人們能以更低廉的價格,開發(fā)出更方便實用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻影響了人們的聯(lián)系方式。目前市場上,關(guān)于在線聊天通訊的軟件有很多,本軟件基于PHP,后臺使用數(shù)據(jù)庫,操作上用戶只需通過注冊后并且了解Windows基本操作就可以很好地使用。作為網(wǎng)
27、絡(luò)工程專業(yè)的學(xué)生,即時了解和掌握流行的即時通訊機制并且應(yīng)用到實踐過程中,將極大的提高自己的設(shè)計和開發(fā)軟件的理論和技術(shù)水平;跟蹤國內(nèi)外最新的技術(shù)和開發(fā)模式,可以為以后類似的開發(fā)積累經(jīng)驗。</p><p><b> 2. 軟件需求分析</b></p><p><b> 2.1 功能需求</b></p><p> 在線聊天
28、通訊軟件的特點就是能夠?qū)崟r的看到聊天內(nèi)容。所謂實時,就是指在同一個聊天室中的用戶可以短時間內(nèi)看到其他人的發(fā)言,這與網(wǎng)絡(luò)上的留言板和BBS有很大的不同。</p><p> 在線聊天通訊軟件作為現(xiàn)代用戶最常用的應(yīng)用程序,其特點就是強調(diào)信息的實時性。在聊天室保持連接的狀態(tài)下,能夠?qū)崟r的顯示出用戶所談的內(nèi)容。</p><p><b> 2.2 性能需求</b></p
29、><p> 考慮到在線聊天通訊軟件制作的復(fù)雜性和本人的專業(yè)知識水平,本次設(shè)計的在線聊天通訊軟件主要實現(xiàn)以下功能:聊天記錄下載,顯示在線人數(shù),敏感詞屏蔽,基于IP地址的地理位置顯示等。</p><p> 3. 軟件的運行環(huán)境設(shè)計</p><p> 3.1 軟件的運行環(huán)境</p><p> 調(diào)試運行程序的環(huán)境: Microsoft Windo
30、ws XP、APMServ5.2.6搭建的Apache、PHP、MySQL網(wǎng)站服務(wù)器平臺;</p><p> 代碼編寫環(huán)境: Macromedia Dreamweaver CS4、記事本。</p><p> 操作系統(tǒng)要求 Win98 以上系列,服務(wù)器需支持PHP和MySQL。</p><p><b> 3.2 軟件的調(diào)試</b></
31、p><p> 本軟件選用MySQL作為后臺數(shù)據(jù)庫。它支持 WindowsXP操作系統(tǒng)平臺。其應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。</p><p><b> 4. 系統(tǒng)模塊設(shè)計</b></p><p><b> 4.1視圖界面設(shè)計</b></p><p> 本軟件的主界面采用HTML編寫,加入
32、必要的LOGO和圖片,采用簡約風(fēng)格,讓整個界面看起來清新簡潔。軟件的進入界面見圖1 進入界面圖,軟件的使用界面見圖2 使用界面圖[3]。</p><p><b> 圖1 進入界面圖</b></p><p><b> 圖2 使用界面圖</b></p><p> 4.2 聊天模塊設(shè)計</p><p&g
33、t; 聊天模塊是在線聊天通訊軟件的基本模塊。聊天模塊的作用在于能夠?qū)崿F(xiàn)在線與其他用戶聊天,該模塊并沒有過多的頁面,對于聊天模塊而言,只需要進行頁面中的數(shù)據(jù)處理即可,也無需保存數(shù)據(jù)。</p><p> 聊天模塊的實現(xiàn)主要是通過對頁面的不同區(qū)域的信息進行間歇查詢,并返回查詢所得到的信息,顯示到一定的區(qū)域,讓不同用戶實時看到聊天記錄。主要代碼如下:</p><p> if (!functi
34、on_exists("file_get_contents"))</p><p> {function file_get_contents($path)</p><p> {if (!file_exists($path)) return false;</p><p> $fp=@fopen($path,"r");<
35、;/p><p> $all=fread($fp,filesize($path));</p><p> fclose($fp);</p><p> return $all;}</p><p><b> }</b></p><p> if (!function_exists("file
36、_put_contents"))</p><p> {function file_put_contents($path,$val)</p><p> {$fp=@fopen($path,"w");</p><p> fputs($fp,$val);</p><p> fclose($fp);</
37、p><p> return true;}</p><p><b> }</b></p><p> 聊天模塊的使用情況通過同一電腦的虛擬機和APMServ5.2.6搭建的Apache、PHP、MySQL網(wǎng)站服務(wù)器平臺進行模擬運行,界面見圖3 聊天圖。</p><p><b> 圖3 聊天圖</b>
38、</p><p> 4.3 聊天記錄下載模塊設(shè)計</p><p> 對于聊天的用戶而言,可以選擇是否將聊天記錄進行保存,如果將聊天記錄進行保存,系統(tǒng)可以將用戶的相應(yīng)的聊天記錄保存為html文件顯示在瀏覽器,用戶可以通過另存為講對應(yīng)的聊天記錄保存到個人電腦中。而數(shù)據(jù)庫是不會存儲用戶的聊天記錄,在用戶退出軟件后對應(yīng)的聊天記錄會刪除。</p><p> 聊天記錄下載
39、模塊通過對聊天內(nèi)容進行轉(zhuǎn)存為HTML文件顯示在瀏覽器,并以對應(yīng)的日期命名,讓用戶清楚了解到聊天記錄的內(nèi)容。而保存功能需要用戶點擊瀏覽器的另存為來實現(xiàn)[4]。</p><p><b> 代碼如下:</b></p><p> $content = $_POST['content'];</p><p> $title = $_P
40、OST['title'];</p><p> $url = $_POST['url'];</p><p> $content = str_replace('<div',"\r\n<div",$content);</p><p> $content = strip_tags($con
41、tent,'<span><div><a>');</p><p> $content = stripslashes(str_replace(' '," ",$content));</p><p> $content = trim($content);</p><p
42、> $tpl = file_get_contents('log.tpl');</p><p> $content=str_replace(array('{time}','{content}','{url}','{title}'),array(date('Y-m-d'),$content,$url,$title
43、),$tpl);</p><p> $filename = $title.' '.date('Y-m-d').'.html';</p><p> if(preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT'])) </p><p> $file
44、name = rawurlencode($filename);</p><p> $filesize = strlen($content);</p><p> 在聊天記錄下載模塊中,當(dāng)點擊聊天記錄下載后,軟件會將對應(yīng)的聊天記錄下載,除了文件的命名在上述代碼實現(xiàn)外,該頁面的其他顯示信息,如頁面欄的日期顯示,時間顯示,以及其他一些顯示,也需要進行對應(yīng)的設(shè)置,避免頁面過于空泛,該顯示主要通過
45、header()函數(shù)實現(xiàn),代碼如下:</p><p> header('Pragma: public');</p><p> header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');</p><p> header('Cach
46、e-Control: no-store, no-cache, must-revalidate');</p><p> header('Cache-Control: pre-check=0, post-check=0, max-age=0');</p><p> header('Content-Transfer-Encoding: binary')
47、;</p><p> header('Content-Encoding: none');</p><p> header('Content-type: application/force-download');</p><p> header('Content-Disposition: attachment; filen
48、ame="'.$filename.'"');</p><p> header('Content-length: '.$filesize);</p><p> echo $content;</p><p> 4.4 顯示在線人數(shù)模塊設(shè)計</p><p> 顯示在線人數(shù)模塊,可以
49、讓用戶清楚看到目前軟件的總在線用戶,避免等待時間,該模塊的實現(xiàn)是通過對數(shù)據(jù)庫chat_online表格的查詢統(tǒng)計,輸出總?cè)藬?shù),實現(xiàn)對在線人數(shù)的統(tǒng)計顯示功能。</p><p> 通過對chat_online表格的篩選,剔除已經(jīng)登陸過長而離開的用戶,通過IP的再次確定用戶的唯一性,再用couti()進行人數(shù)的統(tǒng)計,計算出目前在線總?cè)藬?shù),再進行輸出[5]。具體代碼如下:</p><p> $
50、r=mysql_query("SELECT*FROM`chat_online`WHEREtime`<'".(time()-20)."'");</p><p> if (mysql_num_rows($r) > 0)</p><p> {$arr = mysql_fetch_assoc($r);</p>
51、<p> mysql_query("DELETE FROM `chat_online` WHERE `id`='".$arr['id']."'");</p><p> mysql_query("INSERT INTO `chat_event`(`from`,`to`,`time`,`type`,`content`) V
52、ALUES('".$arr['id']."','".$arr['to']."','".time()."','disconnect','')");}</p><p> $r = mysql_query("SELECT cou
53、nt(id) AS total FROM `chat_online`");</p><p> $arr = mysql_fetch_assoc($r);</p><p> echo $arr['total'];</p><p> 4.5 敏感詞屏蔽模塊設(shè)計</p><p> 敏感詞屏幕模塊,是為了規(guī)范聊天軟件
54、的文明性而設(shè)計的,避免聊天內(nèi)容中出現(xiàn)一些違法、違反政策、有辱文明之類的字眼出現(xiàn),凈化聊天頁面。</p><p> 敏感詞屏蔽模塊主要是通過建立一個badwords.txt文檔,在文檔中輸入聊天內(nèi)容不應(yīng)該出現(xiàn)的敏感字,通過foreach()函數(shù),將敏感詞導(dǎo)入,通過對比后,將文檔中出現(xiàn)的字在聊天記錄中屏蔽為***,具體通過mb_ereg_replace()實現(xiàn)[6]。具體代碼實現(xiàn)如下:</p><
55、;p> if (function_exists('mb_ereg_replace'))</p><p> {$badwords = file("badwords.txt");</p><p> foreach($badwords as $_w)</p><p> {$_w = trim($_w);</p&g
56、t;<p> $content = mb_ereg_replace($_w,'***',$content);}</p><p><b> }</b></p><p> 4.6 基于IP地址的地理位置顯示模塊設(shè)計</p><p> 基于IP地址的地理位置顯示模塊,通過建立ip.txt文檔,寫明IP對應(yīng)的地址,
57、在數(shù)據(jù)庫建表時,把文檔內(nèi)容導(dǎo)入數(shù)據(jù)庫中,在聊天時通過查找對應(yīng)的IP,顯示出文檔中寫明的地理位置。</p><p> 該模塊在對ip.txt文件中的IP地址進行更新升級后需要同時導(dǎo)入數(shù)據(jù)庫中對應(yīng)的表格。</p><p> 5. 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計</p><p> 5.1 數(shù)據(jù)庫的設(shè)計</p><p> 數(shù)據(jù)庫在一個軟件中占有非常重要的地位
58、,數(shù)據(jù)設(shè)計的優(yōu)勢將直接對應(yīng)用軟件的效率以及實現(xiàn)的效果產(chǎn)生影響。設(shè)計數(shù)據(jù)庫時應(yīng)該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求[7]。</p><p> 本軟件采用MySQL進行數(shù)據(jù)庫的編寫,設(shè)計了一個數(shù)據(jù)庫lanyun,數(shù)據(jù)庫中分別建立三個表格,chat_event,chat_ip,chat_online,用來存儲聊天者發(fā)言的信息、聊天者IP地址、在線聊天人數(shù)。</p><
59、p> 5.2 本軟件數(shù)據(jù)庫建表代碼</p><p> 本軟件需要建立三個表格,chat_event,chat_ip,chat_online。</p><p> chat_event表格,用于記錄聊天模塊的相關(guān)信息,包括id、time、content等信息,通過對該表格的查詢修改,實現(xiàn)軟件的聊天模塊功能[8]。</p><p> 具體的建立表格代碼如下:
60、</p><p> CREATE TABLE `chat_event` (</p><p> `id` bigint(20) unsigned NOT NULL auto_increment,</p><p> `from` bigint(20) unsigned NOT NULL default '0',</p><p&g
61、t; `to` bigint(20) unsigned NOT NULL default '0',</p><p> `time` int(10) unsigned NOT NULL default '0',</p><p> `type` char(20) character set utf8 collate utf8_unicode_ci NOT
62、NULL,</p><p> `content` varchar(500) character set utf8 collate utf8_unicode_ci NOT NULL,</p><p> PRIMARY KEY (`id`)</p><p> ) ENGINE=MEMORY DEFAULT CHARSET=latin1 AUTO_INCREME
63、NT=5695 ;</p><p><b> END);</b></p><p> chat_ip表格,主要用于記錄對應(yīng)的IP地址的地理位置,包括id、name等信息,通過對該表格的查詢和修改,可以實現(xiàn)軟件的基于IP地址的地理位置顯示模塊。</p><p> 具體的建立表格代碼如下:</p><p> CREAT
64、E TABLE `chat_ip` (</p><p> `id` int(10) unsigned NOT NULL auto_increment,</p><p> `from` bigint(20) unsigned NOT NULL default '0',</p><p> `to` bigint(20) unsigned NOT N
65、ULL default '0',</p><p> `range` bigint(20) unsigned NOT NULL,</p><p> `name` varchar(200) character set utf8 collate utf8_unicode_ci NOT NULL,</p><p> PRIMARY KEY (`id`
66、),</p><p> KEY `range` (`range`)</p><p> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=494 ;</p><p><b> END);</b></p><p> chat_online表格,主要是用于統(tǒng)計
67、在線聊天人數(shù),實現(xiàn)顯示在線人數(shù)模塊功能,主要包括id、time、ip等基本信息。通過對該表格的查詢和確認,可以用于count()統(tǒng)計在線人數(shù)。</p><p> 具體的建立表格代碼如下:</p><p> CREATE TABLE `chat_online` (</p><p> `id` bigint(20) unsigned NOT NULL defaul
68、t '0',</p><p> `to` bigint(20) unsigned NOT NULL default '0',</p><p> `time` int(10) unsigned NOT NULL default '0',</p><p> `ip` int(10) NOT NULL default
69、'0'</p><p> ) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;</p><p><b> END</b></p><p><b> );</b></p><p> 數(shù)據(jù)庫的連接采用了mysq
70、l_pconnect() 函數(shù)和mysql_select_db() 函數(shù)。mysql_pconnect() 函數(shù)打開一個到 MySQL 服務(wù)器的持久連接。mysql_select_db() 函數(shù)設(shè)置活動的 MySQL 數(shù)據(jù)庫。通過使用這兩條函數(shù),可以直接實現(xiàn)數(shù)據(jù)庫的連接,對數(shù)據(jù)庫進行各種操作。</p><p><b> 6. 軟件測試</b></p><p> 軟
71、件測試的目的是為了確保軟件能夠正確無誤地運行。在測試過程中查漏補缺,對于錯的地方在源程序中進行修正。</p><p><b> 6.1 測試環(huán)境</b></p><p> 本軟件的測試環(huán)境是:采用APMServ5.2.6搭建的Apache、PHP、MySQL網(wǎng)站服務(wù)器平臺和IE瀏覽器。</p><p> APMServ 5.2.6 是一款
72、擁有圖形界面的快速搭建Apache 2.2.9、PHP 5.2.6、MySQL 5.1.28&4.0.26、Nginx 0.7.19、Memcached 1.2.4、phpMyAdmin 2.11.9.2、OpenSSL、SQLite、ZendOptimizer,以及ASP、CGI、Perl網(wǎng)站服務(wù)器平臺的軟件。該軟件將Apache和MySQL安裝為系統(tǒng)服務(wù)并啟動。APMServ集合了Apache穩(wěn)定安全的優(yōu)點,并擁有跟IIS一樣便捷的
73、圖形管理界面,同時支持MySQL 5.0 & 4.0兩個版本。</p><p><b> 6.2 測試方法</b></p><p> 本軟件采取的測試方法是先進行各個模塊的測試,在各個模塊的編寫過程中單獨進行測試運行,測試運行通過后才把各個模塊組合到一起,放入APMServ5.2.6搭建的Apache、PHP、MySQL網(wǎng)站服務(wù)器平臺中進行總體測試。<
74、;/p><p> 在下載安裝好APMServ5.2.6后,把寫好的軟件程序文件放入軟件的跟目錄www\htdocs中,打開APMServ5.2.6,點擊“啟動APMServ”,等該網(wǎng)站服務(wù)器平臺正常運行后,通過IE瀏覽器訪問本機http://127.0.0.1/install.php,建立軟件的數(shù)據(jù)庫表格,再通過IE瀏覽器訪問本機http://127.0.0.1/,進入聊天通訊軟件主界面,進行各項測試。</p
75、><p><b> 6.3 測試結(jié)果</b></p><p> 經(jīng)過測試,各個模塊均能正常運行,基本達到設(shè)計要求;總體測試后也能正常運行,基本達到設(shè)計要求,實現(xiàn)在線聊天通訊功能。</p><p><b> 7. 結(jié)束語</b></p><p> 通過兩個月的努力,在老師與同學(xué)們的指導(dǎo)幫助下,在線
76、聊天通訊軟件順利的完成了。本軟件設(shè)計主要采用Dreamweaver CS4進行編程,采用mysql_pconnect() 函數(shù)和mysql_select_db() 函數(shù)對MySQL數(shù)據(jù)庫進行連接和設(shè)置,這樣使開發(fā)更加簡單和方便。利用PHP和MySQL數(shù)據(jù)庫訪問技術(shù),實現(xiàn)多用戶聊天、顯示在線人數(shù)、敏感詞屏蔽、聊天記錄下載和基于IP地址的地理位置顯示功能。各功能模塊層次清晰,用戶可以很方面的使用本軟件。在不斷的修改和調(diào)試后,軟件終于可以正常
77、運行,達到預(yù)期的效果。同時,在本次設(shè)計中,我也發(fā)現(xiàn)了自己的許多不足。首先,最初開發(fā)軟件的時候,對軟件開發(fā)流程與軟件架構(gòu)掌握不全面,走了不少彎路。其次,對于開發(fā)軟件所使用的知識掌握不夠牢固,浪費了不少時間。最后,我還應(yīng)該多掌握軟件開發(fā)方面的技術(shù),不斷提高自己開發(fā)軟件的能力。</p><p><b> 參考文獻</b></p><p> [1]潘凱華.PHP從入門到精
78、通(第2版)[M].北京:清華大學(xué)出版社,2010.</p><p> [2]黃縉華等.MySQL入門很簡單[M].北京:清華大學(xué)出版社,2011.</p><p> [3]羅廷蘭等.Dreamweaver CS4中文版綜合實例篇[M].北京:電子工業(yè)出版社,2009.</p><p> [4]宗杰等.PHP網(wǎng)絡(luò)編程學(xué)習(xí)筆記[M].北京:電子工業(yè)出版社,200
79、8.</p><p> [5]高洛峰.細說PHP[M].北京:電子工業(yè)出版社,2009.</p><p> [6]朱俊成.PHP編程網(wǎng)絡(luò)大講堂[M].北京:清華大學(xué)出版社,2011.</p><p> [7]鄭阿奇.MySQL實用教程[M].北京:電子工業(yè)出版社,2009.</p><p> [8](美)Me loni,J.G.PHP
80、、MySQL和Apache編程導(dǎo)學(xué)[M]. 北京:機械工業(yè)出版社,2008.</p><p><b> 致謝</b></p><p> 在本次論文的撰寫中,我得到了xxx老師的悉心指導(dǎo),在此,我對xx老師表示誠摯的感謝以及真心的祝福。</p><p> 四年大學(xué)生活即將結(jié)束,回顧幾年的歷程,老師們給了我很多指導(dǎo)和幫助。他們嚴謹?shù)闹螌W(xué),優(yōu)良
81、的作風(fēng)和敬業(yè)的態(tài)度,為我們樹立了為人師表的典范。在此,我對所有的韓山師范學(xué)院的老師表示感謝,祝你們身體健康,工作順利!</p><p> 感謝我的同學(xué)們。我們從全國各地聚到一起,在四年大學(xué)期間,我們一起學(xué)習(xí),一起實踐,一起去娛樂。在即將畢業(yè)的時候,我們將要各奔東西,希望我們都有美好的未來,祝大家一路走好,前程似錦!</p><p> 感謝我的家人,一直支持我,你們永遠健康快樂是我最大的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于php的在線聊天通訊軟件畢業(yè)論文
- 基于PHP的在線聊天通訊軟件畢業(yè)論文.doc
- 基于php的在線聊天通訊軟件開題報告
- 基于php的在線聊天通訊軟件開題報告
- 基于PHP的在線聊天通訊軟件開題報告.doc
- 畢業(yè)論文--sjchat聊天軟件
- 基于java局域網(wǎng)聊天軟件畢業(yè)論文
- 基于php的畢業(yè)論文
- 基于bs的qq聊天軟件設(shè)計畢業(yè)論文
- 基于bs的qq聊天軟件設(shè)計畢業(yè)論文
- 手機視頻聊天軟件畢業(yè)論文
- jsp在線聊天室-畢業(yè)論文
- 局域網(wǎng)聊天軟件畢業(yè)論文
- 局域網(wǎng)聊天軟件-畢業(yè)論文
- 基于javaee技術(shù)在線聊天系統(tǒng)的設(shè)計和實現(xiàn)——畢業(yè)論文
- java畢業(yè)論文---局域網(wǎng)聊天軟件
- 基于java的uaw聊天室系統(tǒng) ——客戶端通訊-畢業(yè)論文
- 基于javaee技術(shù)在線聊天系統(tǒng)的設(shè)計和實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文--基于lan的聊天系統(tǒng)
- 基于php的課程網(wǎng)站畢業(yè)論文
評論
0/150
提交評論