婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ajax與websocket的區別以及websocket常用使用方式 介紹

ajax與websocket的區別以及websocket常用使用方式 介紹

熱門標簽:大學校門地圖標注 銷售電銷機器人詐騙 平涼高德地圖標注商戶要收費嗎 提高電話機器人接通率 荊州智能電銷機器人 福建微碼電話機器人 廣西智能外呼系統多少錢 外呼系統api對接 地圖標注與公司業務關系

筆者近期在公司的項目中漸漸的接觸了一些比較高級的業務邏輯處理,其中比較有意思的地方就是前端接受后臺給與的推送問題。

一般前端與后端的交互主要是使用ajax進行異步操作調用交互,比較有趣的是這種交互方式一般都是單項交互的--

-及前端給后端發出請求后端接受請求后執行操作,即便前端可以接受后端給予的返回值,但是與后端交互的主動權始終是放在前端手里面。

而這樣就會遇到兩個有意思的問題--

1.前端如果調用的接口后端操作事件過長可能會導致返回操作響應時間過長,如果此時用戶單擊其他頁面的時候就會導致返回操作無法正常解決。

2.如果后端有什么比較重要的問題需要推送給前端消息,這個時候前端是無法接收到的。

面對這兩個問題的主流解決辦法分別為針對第一條我們會給整個頁面做一個加載中的動畫并且鎖定住整個頁面從而強迫用戶等待到整個后端返回值結束后再將頁面解鎖。

而對于第二點我們就要引入我們今天所講的websocket這個概念。

一.什么是websocket

websocket協議在2008年誕生,2011年成為國際標準。所有瀏覽器都已經支持了。

它的最大特點就是,服務器可以主動向客戶端推送信息,客戶端也可以主動向服務器發送信息,是真正的雙向平等對話,屬于服務器推送技術的一種。

而他與常規的ajax最大的不同在于他可以雙向接受和發送

一.websocket的簡單使用

對于我們前端來說websocket的使用方式非常簡單,協議標識符是ws(如果加密,則為wss),服務器網址就是 URL。我們只需要自己定義一個ws服務就可以了

代碼如下

var ws = new WebSocket("URL路徑");
ws.onopen = function(evt) { 
 console.log("打開成功"); 
 ws.send("Hello WORD!");
};
ws.onmessage = function(evt) {
 console.log( "Received Message: " + evt.data);
 ws.close();
};
ws.onclose = function(evt) {
 console.log("服務關閉");
};  

如以上代碼所示我們成功的創建了一個簡單的名字為WS的websocket服務并且想后臺定義的路徑中發送了一條hello word的簡訊并且會在接收到推送的時候打印Received Message

在你的ws服務打開以后會在前端的內一直處于掛起狀態,由于現在框架橫行,當你的框架或者說前端項目經過node編譯或者運行時候你可以把ws服務寫在所有頁面的模板中就可以讓項目只要處于被打開狀態就能一直運行

這個時候你需要寫接受推送消息即可,判斷后端給你推送消息的類型并且做出相應的操作,完全不需要有ajax異步操作等待返回值或者返回值后自己操作時間太長而讓用戶等待太久的煩惱。而這一技術現在也普遍的用在了

在線聊天室和一些需要接受推送提示的地方。

不過值得注意的是一般情況下如果推送量較為大的話公司會選擇一些比較大的云服務來做,比如筆者的公司就是使用的融云服務來做的,等筆者有空的話會專門開一次坑講一講融云服務的教程

總結

以上所述是小編給大家介紹的ajax與websocket的區別以及websocket常用使用方式 介紹,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

標簽:婁底 邯鄲 海南 衡陽 黔東 內江 樂山 德陽

巨人網絡通訊聲明:本文標題《ajax與websocket的區別以及websocket常用使用方式 介紹》,本文關鍵詞  ajax,與,websocket,的,區別,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ajax與websocket的區別以及websocket常用使用方式 介紹》相關的同類信息!
  • 本頁收集關于ajax與websocket的區別以及websocket常用使用方式 介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 于都县| 阳高县| 朝阳区| 盖州市| 黑河市| 临夏市| 台南市| 开鲁县| 绵竹市| 六枝特区| 焦作市| 云龙县| 清徐县| 惠水县| 洞头县| 紫阳县| 丹棱县| 衡南县| 洮南市| 乐亭县| 曲靖市| 连平县| 库尔勒市| 孝义市| 同德县| 新丰县| 林口县| 威信县| 阳西县| 霍林郭勒市| 慈溪市| 玉龙| 中江县| 准格尔旗| 阳春市| 大同市| 香格里拉县| 永寿县| 乌拉特中旗| 台南县| 额济纳旗|