最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

腳本之家下載

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

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

相關(guān)文章

最新評論

延边| 彭山县| 蒙阴县| 诸城市| 南岸区| 扬州市| 安丘市| 松滋市| 奉新县| 阿鲁科尔沁旗| 山西省| 遵义县| 湘潭县| 永寿县| 衢州市| 阳原县| 新安县| 福安市| 保亭| 辉县市| 盐边县| 安阳县| 鞍山市| 敖汉旗| 油尖旺区| 常山县| 积石山| 玉龙| 岱山县| 三原县| 聊城市| 敖汉旗| 五大连池市| 上犹县| 博客| 通许县| 灯塔市| 阳曲县| 鄱阳县| 清远市| 巴塘县|