1. 程式人生 > >WebSocket:建立例項、傳送和接收資料

WebSocket:建立例項、傳送和接收資料

1、Web Sockets:能夠在客戶端和服務端之間傳送非常少量的資料,而不必擔心HTTP那樣位元組級的開銷
由於傳遞的資料包很小,因此WebSockets非常適合移動應用。
缺點:制定協議的時間比制定JavaScript API的時間還要長。


    1) URL模式:
    未加密:ws://    已加密:wss://
    2)建立WebSocket:先例項一個WebSocket物件並傳入要連線的URL
    var socket = new WebSocket("ws://www.example.com/server.php);
    socket.close();    // 關閉連線


    3) 表示當前狀態的readyState屬性


    WebSocket.OPENING (0):正在建立連線
    WebSocket.OPEN (1):已經建立連線
    WebSocket.CLOSING (2):正在關閉連線
    WebSocket.CLOSE (3):已經關閉連線


     4)傳送資料
    var message = { 
         time: new Date(), 
         text: "Hello world!", 
         clientId: "asdfp8734rew" 
    };
    socket.send(JSON.stringify(message));    // 複雜的資料結構要先進行序列化
      5)接收資料


    socket.onmessage = function(event){
        var data = event.data;    // data就是要解析的接收到的JSON字串
    }


      6)其他事件:在連線生命週期的不同階段觸發
    open:在成功建立連線時觸發
    error:在發生錯誤時觸發