第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Netty入門(mén)之WebSocket初體驗(yàn)

難度中級(jí)
時(shí)長(zhǎng) 1小時(shí)20分
學(xué)習(xí)人數(shù)
綜合評(píng)分8.40
38人評(píng)價(jià) 查看評(píng)價(jià)
8.6 內(nèi)容實(shí)用
8.6 簡(jiǎn)潔易懂
8.0 邏輯清晰
  • WebSocket如何關(guān)閉鏈接:

    1、服務(wù)端關(guān)閉底層TCP鏈接

    2、客戶端發(fā)起TCP Close

    底層的TCP 正常情況下應(yīng)該首先由服務(wù)器關(guān)閉 在異常情況下客戶端可以發(fā)起TCP Close。

    流程:當(dāng)服務(wù)器被指示關(guān)閉WebSocket鏈接時(shí),服務(wù)端會(huì)發(fā)起一個(gè)TCP Close操作 客戶端等待服務(wù)器的TCP Close

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • WebSocket生命周期:

    1、打開(kāi)事件:端點(diǎn)上建立新鏈接時(shí),該事件是先于其他任何事件發(fā)生之前。該事件發(fā)生會(huì)產(chǎn)生三部分信息。

    1.1、創(chuàng)建WebSocket Session對(duì)象:用于表示已經(jīng)建立好的鏈接

    1.2、配置對(duì)象:包含配置端點(diǎn)的信息。

    1.3、一組路徑參數(shù),打開(kāi)節(jié)點(diǎn)握手時(shí),socket端入棧匹配的URI

    2、消息事件:主要是接收WebSocket對(duì)話中,另一端發(fā)送的消息。鏈接上的消息將會(huì)有三種形式抵達(dá)客戶端。

    2.1、文本消息 用String處理

    2.2、二進(jìn)制消息 用byteBuffer或者byte[]處理

    2.3、pong消息 用java中pong.message接口的實(shí)例來(lái)處理

    3、錯(cuò)誤事件:WebSocket鏈接或者端點(diǎn)發(fā)生錯(cuò)誤時(shí)產(chǎn)生??梢蕴幚砣霔Or(shí)發(fā)生的各種異常。入棧消息可能產(chǎn)生的三種異常。

    3.1、WebSocket建立鏈接時(shí)發(fā)生錯(cuò)誤:SessionException

    3.2、WebSocket試圖將入棧消息解碼成開(kāi)發(fā)人員使用的對(duì)象時(shí) EncodeException

    3.3、WebSocket端點(diǎn)的其他方法運(yùn)行時(shí)產(chǎn)生的錯(cuò)誤

    4、關(guān)閉時(shí)間:WebSocket鏈接端點(diǎn)關(guān)閉,做一些清理工作,可以由參與的任意一個(gè)端點(diǎn)發(fā)出。

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • WebSocket建立連接過(guò)程:

    1、客戶端發(fā)起握手請(qǐng)求。

    2、服務(wù)端響應(yīng)請(qǐng)求。

    3、建立鏈接。

    詳細(xì)流程:

    瀏覽器首先向服務(wù)器發(fā)送一個(gè)特殊的Http請(qǐng)求(攜帶一些附加頭信息)Upgrade:websocket,服務(wù)端解析附加頭信息,產(chǎn)生應(yīng)答消息,然后響應(yīng)給客戶端。之后客戶端就與服務(wù)端建立響應(yīng)的鏈接。

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • 服務(wù)器可主動(dòng)傳送數(shù)據(jù)給客戶端:

    在給定時(shí)間,服務(wù)器和客戶端在任意時(shí)刻相互推送信息,瀏覽器(客戶端)和服務(wù)器只需要做一個(gè)握手的動(dòng)作。建立連接后,服務(wù)器可主動(dòng)傳數(shù)據(jù)給客戶端,客戶端也可以隨意向服務(wù)端傳數(shù)據(jù)。交換數(shù)據(jù)時(shí)所攜帶的頭信息很小。

    實(shí)時(shí)通信:

    WebSocket不僅限于Ajax方式通信。ajax方式需要瀏覽器發(fā)起請(qǐng)求。而WebSocket技術(shù) 服務(wù)端和客戶端可以彼此相互推送信息,從而實(shí)現(xiàn)實(shí)時(shí)通信。


    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • WebSocket優(yōu)點(diǎn):

    節(jié)省通信開(kāi)銷(xiāo):之前WebServer實(shí)現(xiàn)通信,都使用輪詢(每隔特定時(shí)間間隔瀏覽器自動(dòng)發(fā)送Http請(qǐng)求,去獲取服務(wù)端的響應(yīng))該情況下,需要不停的向服務(wù)器發(fā)送請(qǐng)求,而HttpRequest的handler很長(zhǎng),請(qǐng)求包含真正的數(shù)據(jù)可能很小,會(huì)占用很多額外的帶寬和服務(wù)器資源。

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • 什么是WebSocket:是一種H5協(xié)議規(guī)范

    解決客戶端與服務(wù)端實(shí)時(shí)通信而產(chǎn)生的技術(shù):WebSocket本質(zhì)是一種基于TCP協(xié)議,先通過(guò)Http/Https發(fā)一個(gè)特殊的Http請(qǐng)求進(jìn)行握手,握手后會(huì)創(chuàng)建一個(gè)用于交換數(shù)據(jù)的TCP鏈接,之后客戶端和服務(wù)端使用該TCP鏈接進(jìn)行實(shí)時(shí)通信。當(dāng)WebSocket的客戶端和服務(wù)端握手后 建立通信后,就不再需要之前的http請(qǐng)求參與。

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-23

  • 客戶端的斷鏈 重鏈 網(wǎng)絡(luò)閃斷 半包讀寫(xiě) 失敗緩存 網(wǎng)絡(luò)擁塞 異常碼流

    查看全部
    0 采集 收起 來(lái)源:Netty入門(mén)

    2018-08-23

  • AIO:非阻塞異步IO

    1、連接注冊(cè)讀寫(xiě)事件和回調(diào)函數(shù)

    2、讀寫(xiě)方法異步。

    3、主動(dòng)通知程序。

    兩種方式獲取結(jié)果。

    1、java.util.concurrent.Future類(lèi)來(lái)保存異步操作的結(jié)果,F(xiàn)uture get()方法(帶或不帶超時(shí)參數(shù))在異步IO操作完成時(shí)獲取其結(jié)果。

    2、在異步操作時(shí),傳入回調(diào)的handler

    該Handler是java.nio.channels.CompletionHandler接口的實(shí)現(xiàn)類(lèi)。


    查看全部
    0 采集 收起 來(lái)源:IO通信

    2018-08-23

  • NIO:非阻塞同步IO

    1、緩沖區(qū)Buffer:讀數(shù)據(jù)是從緩沖區(qū)讀,寫(xiě)數(shù)據(jù)也是寫(xiě)入緩沖區(qū)。所有的數(shù)據(jù)都是通過(guò)緩沖區(qū)處理。

    2、通道Channel:雙向的,可以讀寫(xiě),或同時(shí)讀寫(xiě)。流是單向的,只能讀或?qū)憽?/p>

    3、多路復(fù)用器Selector:Selector一直輪詢Channel。當(dāng)Channel發(fā)生讀寫(xiě)操作時(shí),該Channel就處于就緒狀態(tài),就會(huì)被Selector輪詢出來(lái)。通過(guò)Selection.key()就可以獲取就緒Channel的集合。之后再進(jìn)行后續(xù)操作。

    而由于JDK使用Epoll代替了傳統(tǒng)的Selector實(shí)現(xiàn)。而且Epoll沒(méi)有最大鏈接數(shù)的限制。可以接入數(shù)萬(wàn)級(jí)的客戶端。

    查看全部
    0 采集 收起 來(lái)源:IO通信

    2018-08-23

  • 偽異步IO通信=BIO+線程池 阻塞同步IO

    在BIO基礎(chǔ)上增加使用線程池管理客戶端請(qǐng)求的線程。

    當(dāng)有一個(gè)新的客戶端請(qǐng)求時(shí),將客戶端的WebSocket封裝成一個(gè)異步任務(wù)。交由線程池進(jìn)行處理。由于線程池中可以設(shè)置消息隊(duì)列(任務(wù))大小。以及最大線程數(shù),所以資源是可控的,無(wú)論多少個(gè)并發(fā)客戶端訪問(wèn),都不出現(xiàn)因資源耗盡而造成的down機(jī)的情況。

    缺點(diǎn):當(dāng)大量客戶端接入,并發(fā)量很大時(shí),可能會(huì)出現(xiàn)線程池線程阻塞等待。

    查看全部
    0 采集 收起 來(lái)源:IO通信

    2018-08-23

  • BIO:一請(qǐng)求一應(yīng)答模型 阻塞同步IO

    一個(gè)線程去監(jiān)聽(tīng)客戶端鏈接,當(dāng)監(jiān)聽(tīng)到客戶端鏈接時(shí),會(huì)為每個(gè)客戶端創(chuàng)建一個(gè)新的線程去進(jìn)行處理,處理結(jié)束,通過(guò)輸出流返回應(yīng)答給客戶端,最后銷(xiāo)毀線程。

    缺點(diǎn):由于會(huì)每個(gè)客戶端請(qǐng)求創(chuàng)建新的線程去處理。所以隨著并發(fā)量的增加,效率會(huì)大大降低。 還有可能出現(xiàn)線程堆棧溢出,創(chuàng)建新線程失敗等問(wèn)題。最終會(huì)導(dǎo)致無(wú)法提供提供服務(wù)。


    查看全部
    0 采集 收起 來(lái)源:IO通信

    2018-08-23

  • JDK NIO的BUG,例如臭名昭著的epoll bug,它會(huì)導(dǎo)致Selector空輪詢,最終導(dǎo)致CPU 100%。官方聲稱(chēng)在JDK1.6版本的update18修復(fù)了該問(wèn)題,但是直到JDK1.7版本該問(wèn)題仍舊存在,只不過(guò)該BUG發(fā)生概率降低了一些而已,它并沒(méi)有被根本解決。

    查看全部
    0 采集 收起 來(lái)源:Netty入門(mén)

    2018-08-21

  • | IO通信? ? ? ?| 客戶端個(gè)數(shù)? ?|IO類(lèi)型? ? ? ? ?|? ? 調(diào)試難度? | 吞吐量 |

    | -------: | -----: | ---: | ----: | -----: |

    |同步阻塞IO? ? ?| 1 : 1? ? ?|? ? ?同步阻塞IO? ?|? ? ? ? ?簡(jiǎn)單? |? ? ? ? ?低|

    |偽異步IO? ? ? ? ?| M:N? ? ?|? ? 同步阻塞IO? ?|? ? ? ? ? 簡(jiǎn)單? |? ? ? ? 低|??

    |NIO? ? ? ? ? ? ? ? ?| M:1? ? ?|? ? ?同步非阻塞? ?|? ? ? ? ?復(fù)雜? ?|? ? ? ? 高|??

    |AIO[異步NIO] |? M:0? ? ?|? ? ?異步非阻塞? ?|? ? ? ? ?復(fù)雜? ?|? ? ? ? 高|??


    AIO 不需要啟動(dòng)額外線程,是被動(dòng)回調(diào)


    查看全部
    1 采集 收起 來(lái)源:IO通信

    2018-08-21

  • h5 握手協(xié)議 實(shí)時(shí)通信

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-15

  • WebSocket生命周期

    查看全部
    0 采集 收起 來(lái)源:WebSocket入門(mén)

    2018-08-06

舉報(bào)

0/150
提交
取消
課程須知
本課程是Java中高級(jí)課程,需熟練掌握J(rèn)ava基本語(yǔ)法和Java IO通信
老師告訴你能學(xué)到什么?
1、IO通信 2、原生IO的缺陷和Netty的優(yōu)勢(shì) 3、WebSocket生命周期 4、Netty實(shí)現(xiàn)WebSocket

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購(gòu)買(mǎi)該課程,無(wú)需重復(fù)購(gòu)買(mǎi),感謝您對(duì)慕課網(wǎng)的支持!