亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于javascript、ajax、memcache和PHP實(shí)現(xiàn)的簡(jiǎn)易在線聊天室

 更新時(shí)間:2015年02月03日 09:51:06   投稿:junjie  
這篇文章主要介紹了基于javascript、ajax、memcache和PHP實(shí)現(xiàn)的簡(jiǎn)易在線聊天室,需要的朋友可以參考下

在線聊天室(online chatrooms)是一個(gè)共多人進(jìn)行溝通交流的網(wǎng)絡(luò)平臺(tái),隨著越來(lái)越多的新技術(shù)的發(fā)明和成熟運(yùn)用,在線聊天室也出現(xiàn)使用各種不同技術(shù)的, 這篇文章我想簡(jiǎn)單總結(jié)一下。

首先說(shuō)一下前臺(tái)技術(shù),最新的當(dāng)然是基于HTML5的websocket,它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工通信(full-duplex)。WebSocket通信協(xié)議于2011年被IETF定為標(biāo)準(zhǔn) RFC 6455,WebSocketAPI被W3C定為標(biāo)準(zhǔn)。在WebSocket API中,瀏覽器和服務(wù)器只需要做一個(gè)握手的動(dòng)作,然后,瀏覽器和服務(wù)器之間就形成了一條快速通道。兩者之間就直接可以數(shù)據(jù)互相傳送。但是由于Websocket是HTML5的API,很多瀏覽器都還得不到支持,所以這種方式現(xiàn)在應(yīng)用不是特別多。第二種是ajax,它是采用一種輪詢的方式,每隔一段時(shí)間,去服務(wù)器上下載數(shù)據(jù),查看是否更新,它的優(yōu)點(diǎn)是異步請(qǐng)求處理(也可以設(shè)置同步),不會(huì)阻塞用戶其它操作,缺點(diǎn)是不間斷的輪詢不僅占用消耗帶寬,也占用過(guò)多的終端和服務(wù)器資源,而且由于ajax輪詢有時(shí)間間隔,所以獲得的消息不是實(shí)時(shí)的,因?yàn)椴皇窍⒂|發(fā),ajax的效率幾乎是最低的。第三種是基于服務(wù)器的推送技術(shù)(comet),說(shuō)是推送,其實(shí)是偽推送,原理是在終端和服務(wù)器之間建立一條長(zhǎng)連接,前臺(tái)通過(guò)判定這條長(zhǎng)連接的內(nèi)容是否改變而獲取內(nèi)容,它的優(yōu)點(diǎn)是占用資源較少,實(shí)時(shí)性好,確實(shí)是需要服務(wù)器特別的支持,而且長(zhǎng)時(shí)間占用連接。現(xiàn)在越來(lái)越多的服務(wù)都采用了這種技術(shù)。

再來(lái)說(shuō)下后臺(tái),聊天室屬于高IO的應(yīng)用,數(shù)據(jù)庫(kù)方面可能是最大瓶頸,聊天的特點(diǎn)是短文本較多,類似于微博。而且它屬于多用戶系統(tǒng),當(dāng)用戶達(dá)到一個(gè)數(shù)量級(jí)時(shí),如果采用Mysql等關(guān)系型數(shù)據(jù)庫(kù)的話,查詢的壓力應(yīng)該是很大的。如果沒(méi)有特殊的要求,個(gè)人認(rèn)為,聊天記錄不需要永久存儲(chǔ),這時(shí)候memcache,redis等基于內(nèi)存的存儲(chǔ)系統(tǒng)就能發(fā)揮作用了。下面是我開發(fā)的一個(gè)簡(jiǎn)單的基于ajax+php+memcache的在線聊天室。

在這個(gè)聊天室中,所有聊天記錄都存放在memcache中,用cid存儲(chǔ)聊天記錄的最大id,用msgcid存放聊天記錄,每插入一條記錄,cid自增1。前臺(tái)通過(guò)ajax獲取獲取json格式數(shù)據(jù),由于memcache是基于內(nèi)存的特性,整體系統(tǒng)運(yùn)行速度是非??斓?。下面是系統(tǒng)的源碼,整個(gè)系統(tǒng)只有兩個(gè)文件,合起來(lái)不到10KB。

腳本之家下載

https://github.com/hitoy/online-chatroom

系統(tǒng)需求:
1,安裝有memcache
2,php安裝memcache擴(kuò)展
3,支持Javascript和ajax的現(xiàn)代瀏覽器

相關(guān)文章

  • 原生JS實(shí)現(xiàn)隨機(jī)點(diǎn)名項(xiàng)目的實(shí)例代碼

    原生JS實(shí)現(xiàn)隨機(jī)點(diǎn)名項(xiàng)目的實(shí)例代碼

    這篇文章主要介紹了原生JS實(shí)現(xiàn)隨機(jī)點(diǎn)名項(xiàng)目的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-04-04
  • JavaScript利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳

    JavaScript利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳

    斷點(diǎn)續(xù)傳即在文件上傳期間因?yàn)橐恍┰蚨鴮?dǎo)致上傳終止時(shí),下次再次上傳同一個(gè)文件就從上一次上傳到一半的地方繼續(xù)上傳,以節(jié)省上傳時(shí)間。本文將利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳功能,快來(lái)跟隨小編一起學(xué)一學(xué)吧
    2022-03-03
  • 深入理解javascript的getTime()方法

    深入理解javascript的getTime()方法

    這篇文章主要介紹了深入理解javascript的getTime()方法,需要的朋友可以參考下
    2017-02-02
  • 全面解析JavaScript 中 null

    全面解析JavaScript 中 null

    null 是一種原始類型,表示有意不包含任何對(duì)象值,在這篇文章中,你將學(xué)習(xí)關(guān)于 JavaScript 中的 null 的一切: 它的含義,如何檢測(cè)它,null 和 undefined 之間的區(qū)別,以及為什么大量使用 null 會(huì)造成代碼維護(hù)困難等,需要的朋友可以參考下
    2022-09-09
  • uniapp藍(lán)牙連接的通用步驟

    uniapp藍(lán)牙連接的通用步驟

    這篇文章主要給大家介紹了關(guān)于uniapp藍(lán)牙連接的通用步驟,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • javascript 實(shí)現(xiàn)子父窗體互相傳值的簡(jiǎn)單實(shí)例

    javascript 實(shí)現(xiàn)子父窗體互相傳值的簡(jiǎn)單實(shí)例

    本篇文章主要是對(duì)javascript 實(shí)現(xiàn)子父窗體互相傳值的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • javascript刪除元素節(jié)點(diǎn)removeChild()用法實(shí)例

    javascript刪除元素節(jié)點(diǎn)removeChild()用法實(shí)例

    這篇文章主要介紹了javascript刪除元素節(jié)點(diǎn)removeChild()用法,實(shí)例分析了removeChild()方法移除節(jié)點(diǎn)的使用技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)

    JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)

    這篇文章介紹了JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • JS匿名函數(shù)和匿名自執(zhí)行函數(shù)概念與用法分析

    JS匿名函數(shù)和匿名自執(zhí)行函數(shù)概念與用法分析

    這篇文章主要介紹了JS匿名函數(shù)和匿名自執(zhí)行函數(shù)概念與用法,結(jié)合實(shí)例形式分析了匿名函數(shù)和匿名自執(zhí)行函數(shù)的概念、功能、應(yīng)用場(chǎng)景及相關(guān)使用技巧,需要的朋友可以參考下
    2018-03-03
  • ionic實(shí)現(xiàn)底部分享功能

    ionic實(shí)現(xiàn)底部分享功能

    這篇文章主要為大家詳細(xì)介紹了ionic實(shí)現(xiàn)底部分享功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評(píng)論