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.

主站蜘蛛池模板: 成人小视频网| 欧美在线免费| 97一区二区在线播放| 亚洲中文无码av永久伊人| 无码久看视频| 欧美激情首页| 97人人模人人爽人人喊小说| 日韩二区三区无| 免费观看男人免费桶女人视频| 国产清纯在线一区二区WWW| 成人免费一区二区三区| 91精品国产麻豆国产自产在线| 婷婷伊人五月| 色播五月婷婷| 91在线国内在线播放老师| 亚洲成人在线免费观看| 在线观看网站国产| 亚洲精品综合一二三区在线| 国产欧美日韩资源在线观看| jizz亚洲高清在线观看| 丁香六月激情综合| 国产一级在线播放| 亚洲swag精品自拍一区| 国产精品美女免费视频大全 | 亚洲综合二区| 99精品免费在线| 99久久精品美女高潮喷水| 国产乱视频网站| 九九香蕉视频| 国产在线视频福利资源站| 天天综合天天综合| 青青草国产免费国产| 久久超级碰| a欧美在线| 欧美日韩在线亚洲国产人| 色香蕉影院| 亚洲午夜片| 国产欧美日韩va另类在线播放| 麻豆国产原创视频在线播放 | 国产18在线播放| 无码人中文字幕| 中文成人无码国产亚洲| 国产精品高清国产三级囯产AV| 亚洲精品欧美重口| 国产欧美视频在线观看| 国产在线视频自拍| 精品国产免费观看一区| 国产在线观看成人91| 日韩少妇激情一区二区| 亚洲色图欧美| 中文字幕在线欧美| 国产情精品嫩草影院88av| 国产精品999在线| 色婷婷狠狠干| 国产精品尤物铁牛tv | 亚洲欧洲日产无码AV| 日韩欧美视频第一区在线观看| 中国成人在线视频| 青青青视频免费一区二区| 欧美伦理一区| 国产精品免费入口视频| 久久精品无码国产一区二区三区| 孕妇高潮太爽了在线观看免费| 欧美成人看片一区二区三区| 自慰网址在线观看| 99久久国产综合精品女同| 91午夜福利在线观看| 成人看片欧美一区二区| 欧美成人怡春院在线激情| 亚洲国产看片基地久久1024| 福利在线一区| 四虎在线高清无码| 国产成人精品综合| 国内老司机精品视频在线播出| 亚洲成人在线免费观看| 欧美另类精品一区二区三区| 国产区精品高清在线观看| 在线色国产| 深爱婷婷激情网| 毛片在线看网站| 国产一区三区二区中文在线| 午夜福利视频一区|