<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 精品九九久久国内精品| heyzo加勒比高清国产精品| 亚洲av午夜福利精品一区人妖| 国产精品美女视视频专区| 国产69精品久久久久777| 亚洲国产精品成人精品无码区| 国产精品一区12p| 国产乱子伦精品免费女| 99久久免费国产精品特黄| 夜色www国产精品资源站| 一夲道无码人妻精品一区二区| 日产国产精品亚洲系列| 女同久久另类99精品国产| 国产精品一区二区久久精品涩爱| 久久99国产综合精品女同| 日本精品久久久中文字幕| 岛国精品一区免费视频在线观看| 国产伦精品一区二区三区免.费| 精品国产柚木在线观看| 国产SUV精品一区二区四| 国产精品反差婊在线观看| 久久夜色精品国产噜噜亚洲a| 91麻豆精品国产91久久久久久| 久久99热只有频精品8| 日本内射精品一区二区视频| 久久精品94精品久久精品| 久久综合精品不卡一区二区| 亚洲国产精品无码成人片久久| 97久久国产露脸精品国产| 91精品全国免费观看青青| 中文精品久久久久人妻| 日韩精品无码免费专区网站 | 国产精品三级av及在线观看| 久久夜色撩人精品国产av| 亚洲综合一区无码精品| 日本精品人妻无码免费大全 | 亚洲国产精品无码久久一线| 亚洲精品国产精品乱码视色| 青草青草久热精品视频在线网站 | 嫩草伊人久久精品少妇AV| 久久国产精品成人片免费|