<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 亚洲婷婷第一狠人综合精品| 水蜜桃精品一二三| 亚洲国产精品福利片在线观看| 国产精品久久久久乳精品爆 | 国产精品99久久精品| 国产在线精品福利大全| 国产愉拍精品手机| 人人妻人人澡人人爽精品日本 | 青青青青久久精品国产h久久精品五福影院1421 | 亚洲国产婷婷综合在线精品| 亚洲AV无码国产精品永久一区| 午夜精品在线观看| 国内精品久久久久国产盗摄| 国产精品亚洲二区在线| 2021久久精品国产99国产精品| 青青青国产依人精品视频| 国产精品成人69XXX免费视频| 99视频在线精品免费观看6| 精品国产乱子伦一区二区三区| 久久国产精品国产自线拍免费| 精品视频午夜一区二区| 人妻少妇精品无码专区漫画| 精品无码一区二区三区亚洲桃色 | 99久久国产综合精品麻豆| 国产精品WWW夜色视频| 亚洲中文字幕精品久久| 精品国产污污免费网站aⅴ| 无码国内精品久久人妻蜜桃| 99久久国语露脸精品国产| 亚洲国模精品一区| 精品在线观看免费| 青青青国产精品视频| 91情侣在线精品国产免费| 精品久久无码中文字幕| 99久久精品免费精品国产| 亚洲综合一区二区精品导航 | 久久这里只精品国产99热| CHINESE中国精品自拍| 国产高清一级毛片精品| 亚洲国产综合精品中文字幕| 亚洲精品国产福利一二区|