本來(lái)打算寫一篇日記的 因?yàn)槊魈煲院缶捅徽{(diào)走了 回北苑路北 那個(gè)充滿不敢回憶的回憶的地方 我總是記得那個(gè)時(shí)候的成長(zhǎng) 所以也坦然些吧 既然要回去 那就寫點(diǎn)干貨吧 還有一個(gè)小時(shí)九點(diǎn)下班(純屬抄襲整理 是在學(xué)習(xí))
webSocket:是一種標(biāo)準(zhǔn)協(xié)議 用于客戶端和服務(wù)端之間進(jìn)行的雙向數(shù)據(jù)傳輸 但跟HTTP沒(méi)什么關(guān)系 它是基于TCP的一種獨(dú)立實(shí)現(xiàn)
客戶端想要知道服務(wù)端處理進(jìn)度:
1.不停的ajax輪詢 服務(wù)端也要不停的有response給到客戶端 所以服務(wù)器壓力比較大
2.采用long poll輪詢 鋸割栗子:打電話 沒(méi)收到回應(yīng)就一直不掛電話 沒(méi)有response返回 鏈接階段一直阻塞(我不懂long poll是啥)
webSocket解決了HTTP的這幾個(gè)難題 當(dāng)服務(wù)器完成協(xié)議升級(jí)后(HTTP-->webSocket)服務(wù)端可以主動(dòng)給客戶端推送消息了 解決了輪詢?cè)斐傻耐窖舆t的問(wèn)題 webSocket只需要一次HTTP握手 服務(wù)端就能一直與客戶端保持通信 直到鏈接關(guān)閉 解決了服務(wù)器反復(fù)解析HTTP協(xié)議 減少了資源的開(kāi)銷
webSocket不兼容IE、IE10 以下
創(chuàng)建webSocket對(duì)象:
var ws=new?webSocket("ws://127.0.0.1:8001");
ws表示使用webSocket協(xié)議 后面接地址及端口
沒(méi)有其他能像webSocket一樣實(shí)現(xiàn)全雙工傳輸?shù)募夹g(shù)了 有的人可能還使用ajax輪詢呢?webSocket雖然用的人不多 可能是因?yàn)閰f(xié)議剛出來(lái)的時(shí)候有安全性的問(wèn)題以及兼容的瀏覽器比較少 但現(xiàn)走都在解決?
多個(gè)客戶之間進(jìn)行交互姨裸;需要頻繁的向服務(wù)器請(qǐng)求更新數(shù)據(jù)
比如彈幕蓬衡、消息訂閱虹钮、多玩家游戲绽诚、協(xié)同編輯昂儒、股票基金實(shí)時(shí)報(bào)價(jià)合砂、視頻會(huì)議亡驰、在線教育等需要高實(shí)的場(chǎng)景脓规。