<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></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 久久精品人妻中文系列| 精品国产乱码久久久久久浪潮| 久久久这里有精品中文字幕| 国产精品国产福利国产秒拍 | 日韩熟女精品一区二区三区| 中文字幕一区二区精品区| 好湿好大硬得深一点动态图91精品福利一区二区 | 久久精品国产亚洲av成人| 精品女同一区二区三区免费播放| 亚洲欧洲国产成人精品| 久久久久久极精品久久久 | 奇米精品视频一区二区三区| 国产精品国产三级国产潘金莲| 亚洲乱码日产精品一二三| 精品亚洲aⅴ在线观看| 精品三级在线观看| 国产精品无码素人福利| 日韩精品一区二区三区国语自制 | 国产成人精品手机在线观看| 色婷婷久久久SWAG精品| 精品综合久久久久久蜜月| 99久久精品午夜一区二区| 久久99精品一久久久久久| 99re热这里只有精品视频中文字幕| 国产精品午夜小视频观看| 亚洲国产精品99久久久久久| 亚洲精品在线视频观看| 久久国产精品2020免费m3u8| 国产精品无码无在线观看| 精品一区二区三区免费观看| 国产成人一区二区三区精品久久| 亚洲精品久久久久无码AV片软件| 激情亚洲一区国产精品| 99在线观看精品| 无码aⅴ精品一区二区三区浪潮 | 91精品国产免费网站| 久久久精品人妻一区二区三区 | 国产精品久久久久999| 国内精品自在自线视频| 亚洲AV无码精品国产成人| 97久久精品无码一区二区天美|