溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

H5之EventSource推送

發(fā)布時(shí)間:2020-05-21 16:31:15 來(lái)源:網(wǎng)絡(luò) 閱讀:1760 作者:hgditren 欄目:軟件技術(shù)

EventSource 推送(ajax普通輪詢)

H5之EventSource推送

H5之EventSource推送

<?php
/**
 * Created by PhpStorm.
 * User: zrj
 * Date: 18-11-1
 * Time: 下午6:50
 */
declare(strict_types=1);//開啟強(qiáng)類型模式

#訂閱
//curl -v "http://127.0.0.1:8100/sub?cname=ch2&seq=1"

#發(fā)布
//curl -v "http://127.0.0.1:8000/push?cname=ch2&content=hi"

//broadcast 廣播消息http://127.0.0.1:8000/broadcast?content=內(nèi)容

//SSE
$sseSubscribeUrl = 'http://192.168.0.153:8100/sse?cname=ch2&seq=1';

//普通輪循方式
$subscribeUrl = 'http://192.168.0.153:8100/sub';
?>

<html>
<head>
    <title>訂閱</title>
    <script type="text/javascript" src="./js/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="./js/icomet.js"></script>
</head>
<body>
<div id="output"></div>
<script type="text/javascript">
    if(window.EventSource) {
        var eventSource = new EventSource("<?php echo $sseSubscribeUrl;?>");
        eventSource.onmessage = function (e) {
            document.body.innerHTML += e.data + '<br>';
        };

        //只要和服務(wù)器連接,就會(huì)觸發(fā)open事件 eventSource.addEventListener("open",function(){ console.log("和服務(wù)器建立連接"); }); //處理服務(wù)器響應(yīng)報(bào)文中的load事件 eventSource.addEventListener("load",function(e){ console.log("服務(wù)器發(fā)送給客戶端的數(shù)據(jù)為:" + e.data); }); //如果服務(wù)器響應(yīng)報(bào)文中沒(méi)有指明事件,默認(rèn)觸發(fā)message事件 eventSource.addEventListener("message",function(e){ console.log("服務(wù)器發(fā)送給客戶端的數(shù)據(jù)為:" + e.data); }); //發(fā)生錯(cuò)誤,則會(huì)觸發(fā)error事件 eventSource.addEventListener("error",function(e){ console.log("服務(wù)器發(fā)送給客戶端的數(shù)據(jù)為:" + e.data); }); } else{ console.log("服務(wù)器不支持EvenSource對(duì)象"); }
        eventSource.addEventListener("open", function () {
            console.log("和服務(wù)器建立連接");
        });

        //處理服務(wù)器響應(yīng)報(bào)文中的load事件
        eventSource.addEventListener("load", function (e) {
            console.log("服務(wù)器load數(shù)據(jù)為:" + e.data);
        });

        //如果服務(wù)器響應(yīng)報(bào)文中沒(méi)有指明事件,默認(rèn)觸發(fā)message事件
        eventSource.addEventListener("message", function (e) {
            console.log("服務(wù)器發(fā)送給客戶端的數(shù)據(jù)為:" + e.data);
        });

        //發(fā)生錯(cuò)誤,則會(huì)觸發(fā)error事件
        eventSource.addEventListener("error", function (e) {
            console.log("服務(wù)器error數(shù)據(jù)為:" + e.data);
        });
    }else{
        console.log("服務(wù)器不支持EvenSource對(duì)象");
    }

    //    var count = 0;
    //    var comet = new iComet({
    //        channel : 'ch2',
    //        subUrl : '<?php //echo $subscribeUrl;?>',
    //        callback : function (content, type) {
    //            count ++;
    //            var output = document.getElementById('output');
    //            var time = '' + (new Date());
    //            output.innerHTML += count + '. ' + time + ': (' + type + ') ' + content + '<br/>';
    //        }
    //    });
</script>
</body>
</html>
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI