一、為什么你們項目組中使用WebSocket技術
當我們在處理頁面數據自動更新的時候,在使用js不斷的請求服務器,查看是否有新數據,如果有就獲取到新數據,進行對頁面信息的跟新,但是當頁面長時間沒有更新數據時,這樣就會存在資源浪費的情況,所以才會使用WebSocket來解決。
二、UDP和TCP協議的概念
TCP是事先為所發送的數據開辟出連接好的通道,然后再進行數據發送;而UDP則不為IP提供可靠性、流控或差錯恢復功能。一般來說,TCP對應的是可靠性要求高的應用,而UDP對應的則是可靠性要求低、傳輸經濟的應用。
三、什么是WebSocket?
WebSocket是HTML5一種新的協議,WebSocket是真正實現了全雙工通信的服務器向客戶端推的互聯網技術,是一種在單個TCP連接上進行全雙工通訊協議。
四、全雙工通訊協議的概念?
全雙工是通訊傳輸的一個術語。通信允許數據在兩個方向上同時傳輸,他在能力上相當於兩個單工通信方式的結合。全雙工指可以同時進行信號的雙向傳輸。
全雙工是:例如我們使用的手機就是全雙工,在同一時刻兩個用戶可以同時給對方傳送數據
半雙工:例如我們使用的對講機,當A方按住通話按鈕才可以向B方傳送數據,B方也是,在同一時刻只有一個用戶能夠傳送數據(A/用戶都可以傳遞信息,但是不能夠同時傳遞)
單工:例如我們看電視時,我們只能接收對方發送的信息,不能夠給對方傳遞信息;
五、WebSocket和Socket的區別是什么?
Socket是應用層與TCP/IP協議通信的中間軟件抽象層,它是一組接口。而WebSocket則不同,它是一個完整的應用層協議,包含一套標准的API。
六、Http與WebSocket的區別?
http協議是短鏈接,因為請求之后,都會關閉連接,下次重新請求數據,需要再次打開連接。WebSocket協議是一種長連接,只需要通過一次請求來初始化鏈接,然后所有的請求和響應都是通過這個TCP鏈接進行通信。
七、WebSocket中的常用注解有哪些?
@ServerEndpoint 類似與servlet中的 RequestMapping
@OnOpen類似與servlet中的 init()初始化
@OnClose類似與servlet中的destroy() 銷毀
@OnMessage類似於servlet中的service請求 (意思就是發送數據的方式 @doPost() / @doGet() 組合)*