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

使用php+swoole對client數(shù)據(jù)實時更新(一)

 更新時間:2016年01月07日 11:46:44   作者:hello大雄  
這篇文章主要介紹了使用php+swoole對client數(shù)據(jù)實時更新(一) 的相關(guān)資料,需要的朋友可以參考下

如果想對一個列表做實時的更新,傳統(tǒng)的做法是采用輪詢的方式。以web為例,通過Ajax定時請求服務(wù)端然后獲取數(shù)據(jù)顯示在頁面。這種方式實現(xiàn)簡單,缺點就是浪費資源。

HTTP1.1新增加了對websocket的支持,這樣就可以將被動展示轉(zhuǎn)變?yōu)橹鲃油ㄖ?。也就是通過websocket與服務(wù)端保持持久鏈接,一旦數(shù)據(jù)發(fā)生變化,由server通知client數(shù)據(jù)有更新,然后再進行刷新等操作。這樣就省去了很多不必要的被動請求,節(jié)省了服務(wù)器資源。

要實現(xiàn)一個webscoket的程序,首先需要使用支持html5的瀏覽器

if(ws === null){
var wsServer = 'ws://'+ location.hostname +':8888';
ws = new WebSocket(wsServer);
ws.onopen = function(){
console.log("socket連接已打開");
};
ws.onmessage = function(e){
console.log("message:" + e.data);
};
ws.onclose = function(){
console.log("socket連接已斷開");
};
ws.onerror = function(e){
console.log("ERROR:" + e.data);
};
//離開頁面時關(guān)閉連接
$(window).bind('beforeunload',function(){
ws.close();
}
);
} 

這樣就實現(xiàn)了一個client,不過事情還遠(yuǎn)沒有結(jié)束。上面的代碼只是簡單的進行了連接,對話,關(guān)閉等基本動作。如果想和服務(wù)端進行通訊,必須要有更具體的方案。比如收到message時判斷類型進行進一步操作。

服務(wù)端:此處采用Swoole進行php服務(wù)端的websocket開發(fā),使用swoole進行php的websocket開發(fā)非常簡單,而且它還支持httpserver的支持。

$server = new swoole_websocket_server("0.0.0.0", 8888);
$server->on('open', function (swoole_websocket_server $server, $request) {
echo "server: handshake success with fd{$request->fd}\n";
});
$server->on('message', function (swoole_websocket_server $server, $frame) {
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
$server->push($frame->fd, "this is server");
});
$server->on('close', function ($ser, $fd) {
echo "client {$fd} closed\n";
});
$server->start();

swoole是一個php的擴展,安裝方式可以參考這里:php安裝swoole擴展的方法

本文先寫到這里,下一篇會寫一些更具體的操作,感興趣的朋友請繼續(xù)關(guān)注本站。謝謝!

相關(guān)文章

  • thinkPHP5框架路由常用知識點匯總

    thinkPHP5框架路由常用知識點匯總

    這篇文章主要介紹了thinkPHP5框架路由常用知識點,整理匯總了thinkPHP5框架路由相關(guān)概念、原理及操作技巧,需要的朋友可以參考下
    2019-09-09
  • php類聲明和php類使用方法示例分享

    php類聲明和php類使用方法示例分享

    這篇文章主要介紹了php類聲明和php類使用方法示例,需要的朋友可以參考下
    2014-03-03
  • PHP 代碼簡潔之道(小結(jié))

    PHP 代碼簡潔之道(小結(jié))

    這篇文章主要介紹了PHP 代碼簡潔之道(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-10-10
  • Laravel 5 框架入門(三)

    Laravel 5 框架入門(三)

    本文給大家?guī)淼氖潜鞠盗薪坛痰牡谌?,主要給大家講解的是Laravel5框架中利用自帶的開箱即用的 Auth 系統(tǒng)對我們的后臺進行權(quán)限驗證,并構(gòu)建出前臺頁面,對 Pages 進行展示。
    2015-04-04
  • PHP使用redis位圖bitMap 實現(xiàn)簽到功能

    PHP使用redis位圖bitMap 實現(xiàn)簽到功能

    這篇文章主要介紹了PHP使用redis位圖bitMap 實現(xiàn)簽到功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • php中使用gd庫實現(xiàn)遠(yuǎn)程圖片下載實例

    php中使用gd庫實現(xiàn)遠(yuǎn)程圖片下載實例

    這篇文章主要介紹了php中使用gd庫實現(xiàn)遠(yuǎn)程圖片下載實例,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • 實例詳解PHP中html word 互轉(zhuǎn)的方法

    實例詳解PHP中html word 互轉(zhuǎn)的方法

    這篇文章主要介紹了實例詳解PHP中html word 互轉(zhuǎn)的方法的相關(guān)資料,涉及到php html word互轉(zhuǎn)的相關(guān)知識,本文介紹的非常詳細(xì),具有參考借鑒價值
    2016-01-01
  • Thinkphp5框架ajax接口實現(xiàn)方法分析

    Thinkphp5框架ajax接口實現(xiàn)方法分析

    這篇文章主要介紹了Thinkphp5框架ajax接口實現(xiàn)方法,結(jié)合實例形式分析了thinkPHP5 ajax交互相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • php微信公眾號開發(fā)之二級菜單

    php微信公眾號開發(fā)之二級菜單

    這篇文章主要為大家詳細(xì)介紹了php微信公眾號開發(fā)之二級菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • PHP中實現(xiàn)中文字串截取無亂碼的解決方法

    PHP中實現(xiàn)中文字串截取無亂碼的解決方法

    這篇文章主要介紹了PHP中實現(xiàn)中文字串截取無亂碼的解決方法,直接使用PHP函數(shù)substr截取中文字符可能會出現(xiàn)亂碼,下面跟隨腳本之家小編一起看看具體解決方法吧
    2018-05-05

最新評論

静乐县| 建德市| 隆回县| 五家渠市| 开封市| 平阴县| 大化| 阿克陶县| 蒙山县| 贵溪市| 翁牛特旗| 高台县| 阳西县| 长沙市| 泗水县| 玉屏| 鄂伦春自治旗| 东阿县| 宜君县| 谷城县| 仪陇县| 清远市| 沂水县| 望奎县| 芜湖市| 扎囊县| 来安县| 和田县| 孙吴县| 嫩江县| 马关县| 筠连县| 大冶市| 双鸭山市| 隆德县| 麻阳| 黎平县| 正阳县| 女性| 临颍县| 辉县市|