999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PHP的網頁即時聊天系統的設計與實現

2015-11-10 09:39:08張源偉胡越雷軍
物聯網技術 2015年10期

張源偉 胡越 雷軍

摘 要:使用PHP服務器腳本語言,采用Apache服務器軟件搭建B/S結構,將單條聊天內容以結構化數據庫表對應的單條記錄形式存儲于MySQL數據庫,再通過Ajax技術使客戶端與服務器之間異步發送和接收信息,從而實現無刷新信息交互。該系統的即時聊天系統界面簡潔,功能專一,可使用戶之間的通訊與信息交流更加便捷。

關鍵詞:PHP;Ajax;即時聊天系統;B/S結構

中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2015)10-00-02

0 引 言

互聯網技術飛速發展,Instant Messaging(即時通訊)的出現,通過互聯網技術,革新了當代人信息交流的方式,給人們生活帶來諸多便利。當前,在“互聯網+”的國家發展戰略下,許多傳統服務行業都亟待與互聯網融合,服務必然需要一個互聯網溝通平臺,網頁即時聊天系統便應運而生,該系統界面簡潔,功能專一,不需要下載軟件即可實現信息交流,讓信息交流更加便捷。

1 系統設計

1.1 系統整體架構設計

系統采用B/S模式開發,具有三層結構,具體如圖1所示。其中,表現層主要是提供交互的界面,由HTML完成,業務邏輯和數據訪問層通過PHP和MySQL組合開發,它們是當今較為流行的開源技術,便于使用,運行速度快,功能強大,并且免費,非常適合Web開發[1-3];業務邏輯層則通過PHP寫出收發信息和添刪處理邏輯;數據庫訪問層通過表的結構,寫出相應PHP服務類,然后通過PHP的MySQL接口來實現數據的增刪改查。

圖1 即時聊天系統的三層B/S結構

1.2 系統數據庫設計

系統具有發送信息,添加刪除好友功能,相應的有3張表,其中表1為用戶表,表2為信息表,好友關系表的具體字段設置見表3所列。

2 系統核心功能實現

2.1 驗證功能

系統界面是通過HTML完成,當用戶寫入用戶名和密碼時,通過get方式向服務器發送請求,服務器驗證頁面接收到用戶名和密碼,通過連接數據庫,將接收到的用戶名和密碼與數據庫中用戶表的記錄進行逐行比對,如果與某一行完全匹配,則跳轉到聊天界面,否則跳轉到注冊界面。圖2所示是其驗證功能流程圖。如果是第一次登陸,生成session,在服務器保存用戶信息。

2.2 發送信息功能

當用戶點擊發送信息按鈕時,瀏覽器向服務器發送Ajax請求,服務器中的處理收發信息頁面接收來自Ajax的請求信息,其中包括session里面的用戶信息,接收人信息,以及發送的內容,并將這些信息存入信息表中,其中time字段用now()函數來代替,is_get字段不作為字段寫入,默認為0。圖3所示是其發送信息功能流程圖。

圖2 驗證功能流程圖 圖3 發送信息功能流程圖

2.3 接收信息功能

當客戶端處于用戶登錄狀態,并且處于聊天界面時,瀏覽器定時向服務器發送獲取信息的請求,通過js的window.setInterval()方法設定時間,本次設定為5 000,即為5秒,此時瀏覽器會間隔5秒向服務器發送獲取信息的請求,當服務器接收到瀏覽器的請求后,開始連接數據庫,并通過用戶信息,在數據庫的信息表中查找接收人是當前用戶的記錄,同時is_get字段的值必須為0,每取出一條,將該記錄中的is_get的值置1,在讀取之后,通過AIAX回調函數,使用DOM將信息更新到聊天界面[4],其中每條信息都是拼接返回,避免覆蓋上一條信息。

接收信息功能流程圖如圖4所示。

圖4 接收信息功能流程圖

2.4 Ajax

Ajax是一種用于給用戶更好體驗,交互性更強的Web應用程序技術,Ajax的本質是異步的Javascript代碼配合XML用于Web交互,使用Ajax使客戶端接收信息,獨立于網頁,不需要刷新整個網頁就可以得到來自服務器的交互信息[5-8]。它不是新技術,但是能夠給Web體驗錦上添花[9]。即時聊天系統需要刷新頁面才可以收到信息,這對于用戶是不可接受的,并且極大地降低了用戶體驗,運用Ajax是此系統的核心解決方案。

如圖5所示,在聊天窗口點擊發送信息按鈕時,瀏覽器將請求轉移到Ajax引擎,由Ajax引擎發送請求,即實例化后的XMLHttpRequest對象[10],服務器信息處理頁面收到Ajax引擎的請求到MySQL數據庫信息表中取出對應信息并轉化為XML形式,返回給Ajax引擎,通過DOM將返回到Ajax引擎的信息更新到瀏覽器的聊天窗口,此過程中,瀏覽器沒有執行刷新。

圖5 Ajax在聊天系統的工作原理

3 結 語

此聊天系統使用WAMP開發環境,基于B/S三層結構開發完成。三層結構很好地將業務邏輯和界面分開,便于后期維護和拓展。收發信息通過Ajax引擎完成,使聊天界面無刷新更新信息。服務器軟件和數據庫選用Apache和MySQL,加上PHP服務器腳本程序,代碼簡潔。實踐證明,系統整體運行良好,無漏接漏發信息。當前傳統服務行業發展的大趨勢是與互聯網融合,網頁即時聊天系統,輕量級聊天,功能專一,無需下載軟件,通過瀏覽器即可完成信息交流,網頁即時聊天系統有著不錯的應用環境和廣大的市場前景。

參考文獻

[1] 麥因泰.php語言精粹[M].劉濤,丁靜,譯.北京:電子工業出版社,2012.

[2] luke welling,laura Thomson.php和mysql web開發(第四版)[M].武欣,譯.北京:機械工業出版社,2009.

[3](英)鮑爾斯.php動態網頁設計(第二版)[M]. 陳寶國,盛海艷,張冠楠,譯.北京:人民郵電出版社,2012.

[4]Joshua Eichorn.深入理解Ajax-基于Javascript的RIA開發[M].北京:人民郵電出版社,2007:4-5.

[5]王振興,黃靜.基于php和服務器推技術的web即時聊天系統[J].計算機系統應用,2012,21(12):17-21.

[6]陳穎,唐啟濤,彭利紅.Ajax在Web聊天系統中的應用[J].電腦知識與技術,2011,7(1):142-145.

[7]汪維富.基于Ajax的局域網內聊天系統建模設與設計[J].福建電腦,2013(8):130-131.

[8]胡楠.網頁即時聊天系統的設計與實現[J].信息與電腦(理論版),2015(7):19-20.

[9] Lee Babin.Ajax與PHP基礎教程[M].北京:人民郵電出版社,2007:5-6.

[10] Dave Crane,Bear Bibeault.Ajax實戰實例詳解[M]. 賀師俊,許超,金擘,譯.北京:人民郵電出版社,2008:6-7.

主站蜘蛛池模板: 日韩a级毛片| 91福利国产成人精品导航| 中文字幕人成人乱码亚洲电影| 日韩小视频在线播放| 91小视频版在线观看www| 国产一区二区色淫影院| 国产成人8x视频一区二区| 国语少妇高潮| 狠狠色噜噜狠狠狠狠色综合久| 狠狠色狠狠色综合久久第一次| 免费国产小视频在线观看| 国产精品9| 国产精品污视频| 一级毛片不卡片免费观看| 国产第三区| 四虎成人免费毛片| 少妇精品网站| 欧美区一区| 免费欧美一级| 久久精品视频一| 亚洲午夜福利在线| 欧美第一页在线| 亚洲av综合网| 国产一级裸网站| 天堂中文在线资源| 青青网在线国产| 中文字幕在线视频免费| 亚洲欧美日韩精品专区| 午夜欧美理论2019理论| 大乳丰满人妻中文字幕日本| 毛片三级在线观看| 日韩黄色大片免费看| 国产真实二区一区在线亚洲| 58av国产精品| 在线欧美日韩国产| 99热这里只有精品免费| 制服丝袜一区| 亚国产欧美在线人成| 亚洲精品无码AⅤ片青青在线观看| 国产日本欧美亚洲精品视| 九色91在线视频| 亚洲无码免费黄色网址| 亚洲视频无码| 亚洲黄色视频在线观看一区| 国产自产视频一区二区三区| 自拍偷拍欧美日韩| 久久国产精品夜色| 中国黄色一级视频| 色偷偷av男人的天堂不卡| a毛片在线播放| 国产亚洲欧美在线中文bt天堂| 国产91av在线| 欧美精品二区| 国产成人久久综合一区| 久无码久无码av无码| 国产成人91精品| 欧美区日韩区| 亚洲一区二区视频在线观看| 久久香蕉国产线看精品| 操国产美女| 日本91在线| 99人体免费视频| 思思热在线视频精品| 亚洲天堂高清| 日韩欧美中文| 国产美女一级毛片| 国产一区二区网站| 亚洲精品色AV无码看| a级免费视频| 91系列在线观看| 日韩a级毛片| 黄色片中文字幕| 国产视频a| 精品国产一区二区三区在线观看| 在线观看国产网址你懂的| 国产91精品久久| 国产大片喷水在线在线视频 | 久操中文在线| 刘亦菲一区二区在线观看| 99激情网| 午夜影院a级片| 欧美日韩精品一区二区视频|