亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WebSocket API怎么使用

發布時間:2022-03-03 16:49:33 來源:億速云 閱讀:287 作者:iii 欄目:web開發

這篇文章主要介紹“WebSocket API怎么使用”,在日常操作中,相信很多人在WebSocket API怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”WebSocket API怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

 屬性

WebSocket有兩個屬性,分別是readyState和bufferedAmount,其中bufferedAmount是作為連接緩沖用的,而WebSocket服務的readyState一共有以下4種狀態。

? CONNECTING(值為數字0)。表示正在連接,尚未連接成功,這里有一個網絡通信的握手過程。

注意,任何一個連接開始的時候,其狀態都必須是CONNECTING=0。如果ready-State一直是CONNECTING狀態,就會報出INVALID_STATE_ERR異常。

? OPEN(值為數字1)。表示連接已經成功,可以通信了。這里的連接是長連接、持久連接。

? CLOSING(值為數字2)。表示連接準備被斷開,握手將被取消。

? CLOSED(值為數字3)。表示連接已經斷開,可以從服務器端斷開,也可以從客戶端斷開。

URL

URL屬性都是一樣的,哪怕是訪問同源網站(這里的URL地址必須是絕對地址)。例如:

var Socket = new WebSocket('ws://www.test.com/');

哪怕本身這個發起WebSocket連接的地址就是www.test.com,也必須以ws://www.test.com為連接目標,否則就是錯誤的。

以下三種形式都是錯誤的:

var Socket = new WebSocket('/');

var Socket = new WebSocket('C:\www.test.com');

var Socket = new WebSocket('http://www.test.com');

以下兩種形式都是允許的、正確的:

var Socket = new WebSocket('ws://www.test.com/updates');

var Socket = new WebSocket('ws://www.test.com/updates:8080');

事件

具體的事件說明如下,其中send()方法基于成功的連接傳送數據,其參數必須是字符串(string)格式。

事件句柄 事件類型 解釋

onopen open 連接打開

onmessage message 用于接受從服務器傳來的信息

onerror error 當出現連接中的各種錯誤時,用于容錯處理和排查

onclose close 連接關閉或斷開

send send 基于成功的連接傳送數據

這里需要注意,bufferedAmount屬性作為還沒有發送到網絡中的最后一個待執行的事件輪詢任務,必須返回正在隊列中的(準備發送出去的)基于UTF-8格式文本的字節數量。(這包括在當前任務的執行中發送的文本,不論客戶端是否能夠異步傳輸文本。)

如果連接是關閉的,這個屬性的值將僅增加每次使用send方法帶來的數字變化(一旦連接關閉,該數字不能被初始化為0)。

在下面這個簡單的例子中,bufferedAmount屬性用于確保能夠保持在每50ms一次更新的頻率(如果網絡能保持這個速率),如果這個速率太快,那么采用其他能夠有保證的速率也可以:

var Socket = new WebSocket('ws://www.test.com:12010/updates');

Socket.onopen = function(){

setInterval(function(){

if(Socket.bufferedAmount == 0)

Socket.send(getUpdateData());

}, 50);

};

到此,關于“WebSocket API怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮安市| 紫金县| 河源市| 宜良县| 遵义县| 岱山县| 定兴县| 邵东县| 海原县| 北安市| 浦北县| 手机| 凌源市| 汉川市| 紫金县| 日喀则市| 宽甸| 西宁市| 额敏县| 积石山| 临漳县| 页游| 巨鹿县| 墨脱县| 奉化市| 晋州市| 平果县| 克山县| 西畴县| 高安市| 华阴市| 瑞昌市| 万山特区| 静海县| 栾川县| 台东县| 广丰县| 盐源县| 乌苏市| 乌拉特中旗| 建德市|