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.

主站蜘蛛池模板: 欧美精品综合视频一区二区| 亚洲欧洲日产国产无码AV| 97国产精品视频人人做人人爱| 丝袜亚洲综合| 丰满少妇αⅴ无码区| 亚洲日韩Av中文字幕无码| 国产三级视频网站| 超清无码一区二区三区| 国产99久久亚洲综合精品西瓜tv| 黑人巨大精品欧美一区二区区| 大学生久久香蕉国产线观看| 中文字幕在线永久在线视频2020| 亚洲伊人天堂| 青青草91视频| 宅男噜噜噜66国产在线观看| 成人无码一区二区三区视频在线观看| 国产美女视频黄a视频全免费网站| 最近最新中文字幕在线第一页| 久久成人免费| 视频国产精品丝袜第一页| 久久永久视频| 亚洲日韩精品无码专区97| 91成人试看福利体验区| 色偷偷综合网| 久久久久人妻一区精品| 91在线激情在线观看| 韩国自拍偷自拍亚洲精品| 成人精品区| 亚洲精品爱草草视频在线| 亚洲香蕉久久| 成人精品亚洲| 免费不卡在线观看av| 中文无码日韩精品| 2021国产精品自拍| 精品欧美视频| 色噜噜狠狠狠综合曰曰曰| 久草视频福利在线观看| 伊人成色综合网| 国模私拍一区二区三区| 一区二区三区高清视频国产女人| 亚洲欧美在线精品一区二区| 91青草视频| 97av视频在线观看| 国产在线精彩视频二区| 超碰精品无码一区二区| 欧美成人第一页| 人妻无码中文字幕第一区| 亚洲午夜福利精品无码不卡| 国产凹凸一区在线观看视频| 国产人人射| 亚洲一级毛片| 久久中文字幕av不卡一区二区| 自拍偷拍一区| 久久久久久久久亚洲精品| 欧美a在线| 免费一级大毛片a一观看不卡| 天天操精品| 99久久精品久久久久久婷婷| 亚洲乱码视频| 国产一区二区精品福利| 乱人伦视频中文字幕在线| 国产精品无码影视久久久久久久| 日韩AV手机在线观看蜜芽| 潮喷在线无码白浆| 国产成人精品2021欧美日韩| 一本无码在线观看| 午夜性爽视频男人的天堂| 亚洲视频无码| 伊人久久影视| 欧美午夜久久| 国产成熟女人性满足视频| WWW丫丫国产成人精品| 亚洲色图另类| 一级毛片在线播放| 一级毛片不卡片免费观看| 亚洲精品在线影院| 成人在线亚洲| 久久精品国产国语对白| 国产精女同一区二区三区久| 欧美19综合中文字幕| 香蕉久久永久视频| 亚洲av片在线免费观看|