수색…


소개

WebSocket은 클라이언트와 서버 간의 양방향 통신을 가능하게하는 프로토콜입니다.

WebSocket의 목표는 여러 HTTP 연결을 여는 것에 의존하지 않는 서버와 양방향 통신이 필요한 브라우저 기반 응용 프로그램을위한 메커니즘을 제공하는 것입니다. ( RFC 6455 )

WebSocket은 HTTP 프로토콜을 통해 작동합니다.

통사론

  • 새로운 WebSocket (url)
  • ws.binaryType / * 수신 메시지의 배달 유형 : "arraybuffer"또는 "blob"* /
  • ws.close ()
  • ws.send (data)
  • ws.onmessage = function (message) {/ * ... * /}
  • ws.onopen = function () {/ * ... * /}
  • ws.onerror = function () {/ * ... * /}
  • ws.onclose = function () {/ * ... * /}

매개 변수

매개 변수 세부
url 이 웹 소켓 연결을 지원하는 서버 URL입니다.
데이터 호스트에 보낼 컨텐츠.
메시지 호스트에서받은 메시지입니다.

웹 소켓 연결 설정

var wsHost = "ws://my-sites-url.com/path/to/web-socket-handler";
var ws = new WebSocket(wsHost);

문자열 메시지로 작업하기

var wsHost = "ws://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var value = "an example message";

//onmessage : Event Listener - Triggered when we receive message form server
ws.onmessage = function(message) {
    if (message === value) {
        console.log("The echo host sent the correct message.");
    } else {
        console.log("Expected: " + value);
        console.log("Received: " + message);
    }
};

//onopen : Event Listener - event is triggered when websockets readyState changes to open which means now we are ready to send and receives messages from server
ws.onopen = function() {
    //send is used to send the message to server
    ws.send(value);
};

바이너리 메시지 작업

var wsHost = "http://my-sites-url.com/path/to/echo-web-socket-handler";
var ws = new WebSocket(wsHost);
var buffer = new ArrayBuffer(5); // 5 byte buffer
var bufferView = new DataView(buffer);

bufferView.setFloat32(0, Math.PI);
bufferView.setUint8(4, 127);

ws.binaryType = 'arraybuffer';

ws.onmessage = function(message) {
    var view = new DataView(message.data);
    console.log('Uint8:', view.getUint8(4), 'Float32:', view.getFloat32(0))
};

ws.onopen = function() {
    ws.send(buffer);
};

안전한 웹 소켓 연결 만들기

var sck = "wss://site.com/wss-handler";
var wss = new WebSocket(sck);

이것은 ws 대신 wss 를 사용하여 HTTP 대신 HTTPS를 사용하는 보안 웹 소켓 연결을 만듭니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow