<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內(nèi)容,歡迎關(guān)注:

    視頻號(hào)
    視頻號(hào)

    抖音
    抖音

    快手
    快手

    微博
    微博

    當(dāng)前位置:首頁(yè) 科技百科 java comet

    java comet

    文檔

    java comet

    comet是基于HTTP長(zhǎng)連接的“服務(wù)器推”技術(shù),是一種新的Web應(yīng)用架構(gòu)。基于Java的成熟的服務(wù)器推送框架有DWR,另外comet的應(yīng)用主要體現(xiàn)在股票系統(tǒng)和實(shí)時(shí)通訊。
    推薦度:
    導(dǎo)讀comet是基于HTTP長(zhǎng)連接的“服務(wù)器推”技術(shù),是一種新的Web應(yīng)用架構(gòu)。基于Java的成熟的服務(wù)器推送框架有DWR,另外comet的應(yīng)用主要體現(xiàn)在股票系統(tǒng)和實(shí)時(shí)通訊。

    java comet是什么,讓我們一起了解一下?

    comet是基于HTTP長(zhǎng)連接的“服務(wù)器推”技術(shù),是一種新的Web應(yīng)用架構(gòu)。基于Java的成熟的服務(wù)器推送框架有 DWR ,另外comet的應(yīng)用主要體現(xiàn)在股票系統(tǒng)和實(shí)時(shí)通訊。

    Comet有以下兩種實(shí)現(xiàn)方式:

    1、長(zhǎng)輪詢(long-polling):用JS發(fā)送Ajax請(qǐng)求,但是服務(wù)器不會(huì)立馬響應(yīng),直到服務(wù)器有消息給客戶端時(shí)再響應(yīng),響應(yīng)完成后連接關(guān)閉,客戶端立即再次發(fā)送請(qǐng)求,等待響應(yīng)。

    2、流(streaming):和上面long-polling不同的是,服務(wù)器發(fā)完消息后,不會(huì)關(guān)閉連接,而是保持HTTP連接繼續(xù)等待下一條消息。這樣客戶端不用每次收到消息連接關(guān)閉后再次請(qǐng)求。

    這種方式的原理是HTTP協(xié)議響應(yīng)頭的一個(gè)Header:Transfer-Encoding: chunked。普通的HTTP響應(yīng)頭中會(huì)有Content-Length表示整個(gè)響應(yīng)的字節(jié)大小,瀏覽器接收到所有的響應(yīng)數(shù)據(jù)才會(huì)加載內(nèi)容。而設(shè)置Transfer-Encoding: chunked后表示響應(yīng)大小不固定,瀏覽器接收到一點(diǎn)響應(yīng)數(shù)據(jù)就加載一點(diǎn)。基于流的Comet后臺(tái)實(shí)現(xiàn)是一樣的,但是前端會(huì)有幾種不同的方式:iframe流和針對(duì)FireFox的方式。

    那么實(shí)際操作中,Comet是如何實(shí)現(xiàn)的?(以長(zhǎng)輪詢?yōu)槔?/p>

    前端頁(yè)面:

    
    
    
    
    
    function?getMsg()?{
    //?請(qǐng)求地址是CometServlet對(duì)應(yīng)的URL,加上一個(gè)隨機(jī)值參數(shù)防止緩存問(wèn)題
    var?url?=?"comet"?+?"?t="+Math.random();
    var?request?=?new?XMLHttpRequest();
    request.onreadystatechange?=?function()?{
    if?(request.readyState?==?4)?{
    if?(request.status?==?200)?{
    if?(request.responseText)?{
    //?追加到HTML中
    document.body.innerHTML?+=?request.responseText;
    }
    }
    //?Ajax完成后,再次Ajax請(qǐng)求
    getMsg();
    }
    };
    request.open("GET",?url,?true);
    request.send();
    }
    window.onload?=?getMsg;
    
    
    
    
    

    后臺(tái)Servlet:

    public?class?CometServlet?extends?HttpServlet?{
    @Override
    public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)?throws?IOException?{
    //?這里用Thread.sleep來(lái)模擬comet,相當(dāng)于每隔5秒服務(wù)器向客戶端推送一條消息
    try?{
    Thread.sleep(5000);
    }?catch?(InterruptedException?e)?{
    e.printStackTrace();
    }
    PrintWriter?out?=?response.getWriter();
    out.println("helloworld
    "); }

    在瀏覽器中打開(kāi)html頁(yè)面,可以看到每隔5秒服務(wù)器向客戶端推送一個(gè)helloworld字符串。而接收到字符串HTTP連接就斷開(kāi)了,然后Ajax再立即發(fā)出請(qǐng)求等待服務(wù)器的下次響應(yīng)。?

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    java comet

    comet是基于HTTP長(zhǎng)連接的“服務(wù)器推”技術(shù),是一種新的Web應(yīng)用架構(gòu)。基于Java的成熟的服務(wù)器推送框架有DWR,另外comet的應(yīng)用主要體現(xiàn)在股票系統(tǒng)和實(shí)時(shí)通訊。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關(guān)推薦
    山楂干泡水最佳搭配 java commandline java comparable接口 java compiler java config java console java console.log 復(fù)活節(jié)的由來(lái) java const java consumer接口 統(tǒng)一和康師傅是哪國(guó)的 怎么刪掉word中的空白頁(yè) 微信筆記在哪里編輯 椰子怎么挑 蟑螂最怕三種克星 毛尖屬于什么茶 微信鈴聲怎么設(shè)置自己的歌 怎么確認(rèn)微信還在不在電腦端 河南過(guò)年的風(fēng)俗有哪些 麗水市是哪個(gè)省 java combobox java color java collections java collect java clone() java clob java classloader java class.forname java class java cipher java charset java charsequence java charat java channel iPad怎么重啟 java cglib 平板如何錄屏 java ceiling java callback java calendar獲取當(dāng)前時(shí)間
    Top 成人综合婷婷国产精品久久蜜臀| 久久夜色精品国产| 亚洲AV日韩精品久久久久久| 精品国内自产拍在线视频| 精品一区二区三区东京热| 久久人人爽人人精品视频| 日韩精品免费一区二区三区| 久久99精品久久只有精品| 久久精品国产色蜜蜜麻豆| 精品熟女碰碰人人a久久| 精品国产一区二区三区四区| 久久精品国产一区| 亚洲七七久久精品中文国产| 无码人妻精品一区二区三区不卡| 91精品久久久久久久久中文字幕 | 亚洲精品国产精品乱码不卡√| 国产精品亚洲综合网站| 国产精品玖玖玖在线观看| 2021午夜国产精品福利| 久久精品国产亚洲av麻豆| 国产在线观看一区精品| 一色屋精品视频任你曰| 国产精品白浆在线播放| 亚洲精品中文字幕| 国产精品一久久香蕉产线看| 久久久久久国产精品免费免费男同| 国产精品亚洲精品日韩已方| 四虎成人精品在永久在线| 国产精品爽爽影院在线| 在线亚洲精品视频| 国产精品久久久久一区二区三区 | 国产在视频线精品视频2021| 久久精品国产亚洲AV无码偷窥| 国产丝袜在线精品丝袜| 国产精品乱码一区二区三区 | 青春草无码精品视频在线观 | 久久久精品无码专区不卡| 亚洲精品国产日韩无码AV永久免费网| 国产免费69成人精品视频| 国产精品白丝喷水在线观看| 国产精品情侣呻吟对白视频|