av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP+MySQL聊天室技術(shù)淺談

瀏覽:2日期:2024-02-25 16:16:03

近來(lái),在PHPChina推出了PHP聊天室技術(shù)的專題,恰好本人最近也在做這個(gè)項(xiàng)目,也在此發(fā)表一下個(gè)人的觀點(diǎn)。

聊天室主要功能: 1,注冊(cè),登陸,退出,資料修改。 2,用戶申請(qǐng)創(chuàng)建聊天室,自定義聊天室屬性。 3,顯示聊天室名稱,描述,主持人,公告,廣告。 4,實(shí)時(shí)顯示在線用戶列表,可以查看在線用戶資料(昵稱,email,ip,在線時(shí)長(zhǎng)等)。 5,發(fā)表聊天內(nèi)容,字體屬性,動(dòng)作,表情,常用短語(yǔ)。 6,允許隱身,私聊,滾屏,屏蔽用戶,清屏,聊天場(chǎng)景選擇,背景音樂,發(fā)送方式自定義。 7,管理員有權(quán)對(duì)成員進(jìn)行管理(踢出,禁止發(fā)言,移交管理權(quán)限)。

注意事項(xiàng): 1,禁忌使用框架結(jié)構(gòu)(iframe除了減輕您的勞動(dòng)量外,并不能帶來(lái)任何好處) 2,前臺(tái)和后臺(tái)代碼徹底分開,只通過(guò)ajax通道傳送數(shù)據(jù),而且只應(yīng)該傳送必要的數(shù)據(jù)。(前臺(tái)顯示數(shù)據(jù),后臺(tái)處理數(shù)據(jù)) 3,禁忌因程序引起的整個(gè)頁(yè)面刷新,只更新需要更改的內(nèi)容(禁忌使用header,meta刷新頁(yè)面)。 4,在提交聊天內(nèi)容時(shí),不能一味追求用戶體驗(yàn)的速度,而忽略了實(shí)際的聊天記錄提交次序。(即是說(shuō),提交的聊天記錄應(yīng)該在服務(wù)器重組實(shí)際的先后次序,再傳送到客戶端,因?yàn)榭赡茉谕粫r(shí)間有很多人提交信息)

使用到的技術(shù): 1,前后臺(tái)的橋梁——AJAX。可以選用jquery,XAJAX。本人傾向于jquery,速度快,簡(jiǎn)單耐用,有很多插件,更新的也快。 2,數(shù)據(jù)載體的形式——XML。其實(shí)一般的聊天室數(shù)據(jù)也不是很復(fù)雜,用json完全夠了。 3,數(shù)據(jù)庫(kù)抽象層——ADODB。用PDO更快一些。個(gè)人已經(jīng)習(xí)慣使用ADODB。 4,數(shù)據(jù)底層存儲(chǔ)介質(zhì)——MySQL。這個(gè)沒有疑問(wèn)。 5,數(shù)據(jù)中間存儲(chǔ)介質(zhì)——memcache。將高速讀寫的數(shù)據(jù)存儲(chǔ)到memcache共享內(nèi)存里面,減輕數(shù)據(jù)庫(kù)的負(fù)荷。 6,如果要實(shí)現(xiàn)視頻和語(yǔ)音,需要服務(wù)端FMS(flash media server)的支持,客戶端需要安裝flash player。并且涉及到在html,javascript,flash與后臺(tái)相互之間的數(shù)據(jù)交互。這方面資料不是很多。

這些是最核心的技術(shù),在實(shí)際的應(yīng)用開發(fā)中,還有許多細(xì)節(jié)問(wèn)題需要解決。

比如:怎么處理在線列表的更新? 途徑有這么兩種: 1,刷新整個(gè)列表(無(wú)論是否有更新)。 2,添加新上線成員,刪除掉線成員,更改資料有變動(dòng)的成員。 顯然第二種是最佳的選擇。

怎么處理XmlHttpRequest并發(fā)的問(wèn)題? javascript是單線程的,如果同時(shí)有兩個(gè)XmlHttpRequest對(duì)象,則很容易產(chǎn)生問(wèn)題,這就需要我們控制XmlHttpRequest的生成與結(jié)束。 在聊天室里面,我們需要更新的數(shù)據(jù)主要有:在線列表(包括成員資料的更新),聊天記錄,聊天室屬性等。而這幾項(xiàng)更新的頻率又是不一致的(如果時(shí)間一致的話,只需要建立一個(gè)XmlHttpRequest就可以處理掉)。聊天記錄需要較短的時(shí)間內(nèi)更新,在線列表可以稍長(zhǎng)時(shí)間更新。在不使用框架的前提下,如果分別建立XmlHttpRequest對(duì)象,很可能出現(xiàn)并發(fā)的問(wèn)題。這就需要?jiǎng)?chuàng)建一個(gè)時(shí)間與流程的控制函數(shù)。 setInterval('process_control()',3000) //三秒鐘調(diào)用一次 函數(shù)process_control里面實(shí)現(xiàn)任務(wù)的調(diào)度,如:間隔一定時(shí)間執(zhí)行謀任務(wù),當(dāng)謀任務(wù)完成之后才執(zhí)行下一個(gè)任務(wù)。

標(biāo)簽: PHP
主站蜘蛛池模板: 91精品国产91 | 久久久精品 | 在线观看深夜视频 | 91精品国产欧美一区二区 | 91在线观看免费 | 不卡在线视频 | 韩日中文字幕 | 黄色片免费看视频 | 51ⅴ精品国产91久久久久久 | 男女视频在线免费观看 | 三级成人在线观看 | 喷水毛片 | 中文字幕综合 | 午夜欧美 | 日韩在线看片 | 国产成人精品一区二区三 | www.久久99| 国产精品免费av | 一级黄色毛片 | 狠狠狠色丁香婷婷综合久久五月 | 久热免费在线 | 久久综合一区 | 鸳鸯谱在线观看高清 | 永久av| 亚洲国产一区在线 | 91国产精品 | 真人毛片 | 久久久影院 | av中文字幕网站 | 国产精品一区在线观看 | 久久久久久国产精品免费免费狐狸 | 日韩伦理一区二区 | 九九爱这里只有精品 | 中文字幕综合 | 99久久久久久 | 国产福利观看 | 亚洲精品区 | 久久久成人免费一区二区 | 欧美性久久 | 久久亚洲天堂 | 国产精品视频一二三区 |