webScoket的浅短的认识
生活随笔
收集整理的這篇文章主要介紹了
webScoket的浅短的认识
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在一般的發(fā)送數(shù)據(jù)請求的時候都是用的http協(xié)議,但是對于類似即時聊天,需要客戶端與服務器不間斷的交互的時候?qū)τ趆ttp協(xié)議來說就不太適用了。因為http協(xié)議無法主動把數(shù)據(jù)發(fā)到客戶端,而且客戶端發(fā)送請求之后就會斷開連接,無法達到我們的需求。
而相對于webScoket對于客戶端與服務器之間的交互就會很好的適用。WebSocket protocol 是HTML5一種新的協(xié)議。它實現(xiàn)了瀏覽器與服務器全雙工通信(full-duplex)。剛開始的握手需要借助HTTP請求完成,建立連接完成之后就會使客戶端與服務器之間進行連接。WebSocket是H5出現(xiàn)的一種新的技術(shù),在之前很多即時通信都是用的輪詢技術(shù),通過設定一個間隔時間對服務器進行發(fā)送請求,以此更新客戶端的內(nèi)容,但是這樣無形中就會增加服務器的壓力,同時效率也不是很高。
在 WebSocket API,瀏覽器和服務器只需要做一個握手的動作,然后,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數(shù)據(jù)互相傳送。在此WebSocket 協(xié)議中,為我們實現(xiàn)即時服務帶來了兩大好處: 1. Header 互相溝通的Header是很小的-大概只有 2 Bytes 2. Server Push 服務器的推送,服務器不再被動的接收到瀏覽器的request之后才返回數(shù)據(jù),而是在有新數(shù)據(jù)時就主動推送給瀏覽器。 我們可以用nodejs來搭建一個簡易的服務器 在搭建服務器中我們需要一個express模塊和ws模塊,以上是簡易服務器的配置。 在第一次握手的時候需要手動進行連接,在這里設置了一個button進行研究 在點擊了頁面上的button之后就會對js中的函數(shù)進行調(diào)用,同時,在開始要new一個WebSocket("ws://127.0.0.1:8080"),這個地址是服務器所對應的一個地址,可以根據(jù)需要連接別的地址(如果是局域網(wǎng),需要連接同一局域網(wǎng)中的),也就是說通過new創(chuàng)建WebSocket對象時,需要指定連接地址url,創(chuàng)建成功后對象就會自動進行連接,并根據(jù)連接的結(jié)果觸發(fā)相應的事件。 這是在點擊建立連接的button之后所調(diào)用的函數(shù),在對服務端發(fā)送數(shù)據(jù)的時候,要在這些函數(shù)中進行數(shù)據(jù)處理。轉(zhuǎn)載于:https://www.cnblogs.com/0828-li/p/5689510.html
總結(jié)
以上是生活随笔為你收集整理的webScoket的浅短的认识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓手机python数据可视化_pyth
- 下一篇: python中的语言特性_python自