모듈 기본 모듈

모듈 ws

웹 소켓 지원 모듈

지침:

1
var ws = require('ws');

서버 생성:

1 2 3 4 5 6 7 8 9
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade((conn, req) => { conn.onmessage = e => console.log(e.data); }) }); svr.start();

사용하다 WebSocket 고객:

1 2 3 4
var ws = require('ws'); var conn = new ws.Socket('ws://127.0.0.1/ws'); conn.onmessage = e => console.log(e.data);

물체

Message

websocket 메시지 객체 생성, 참조 WebSocketMessage

1
WebSocketMessage ws.Message;

Socket

WebSocket 개체, 참조 WebSocket

1
WebSocket ws.Socket;

정적 함수

upgrade

웹 소켓 프로토콜 핸들러 생성 http 업그레이드 요청을 받고 악수, 생성 WebSocket 물체

1
static Handler ws.upgrade(Function accept);

호출 매개변수:

  • accept: 함수, 성공적인 연결을 처리하는 함수, 콜백은 두 개의 매개변수를 전달합니다. 첫 번째 매개변수는 수신됨 WebSocket Object, 두 번째 매개변수는 핸드셰이크입니다. HttpRequest 물체

반환 결과:


웹 소켓 프로토콜 핸들러 생성 http 업그레이드 요청을 받고 악수, 생성 WebSocket 물체

1 2
static Handler ws.upgrade(Object opts, Function accept);

호출 매개변수:

  • opts: 객체, 연결 옵션, 기본값은 {}
  • accept: 함수, 성공적인 연결을 처리하는 함수, 콜백은 두 개의 매개변수를 전달합니다. 첫 번째 매개변수는 수신됨 WebSocket Object, 두 번째 매개변수는 핸드셰이크입니다. HttpRequest 물체

반환 결과:

opts에는 요청된 추가 옵션이 포함되어 있으며 지원되는 내용은 다음과 같습니다.

1 2 3 4
{ "perMessageDeflate": false, // 指定是否支持压缩,缺省不支持 "maxPayload": 67108864 // 指定最大数据包尺寸,缺省为 67108864 }

일정한

CONTINUE

연속 프레임을 나타내는 websocket 메시지 유형 0을 지정하십시오.

1
const ws.CONTINUE = 0;

TEXT

텍스트 프레임을 나타내는 websocket 메시지 유형 1을 지정하십시오.

1
const ws.TEXT = 1;

BINARY

바이너리 프레임을 나타내는 websocket 메시지 유형 2를 지정하십시오.

1
const ws.BINARY = 2;

CLOSE

websocket 메시지 유형 8을 지정하면 연결이 닫힙니다.

1
const ws.CLOSE = 8;

PING

ping 프레임을 나타내는 websocket 메시지 유형 9를 지정하십시오.

1
const ws.PING = 9;

PONG

퐁 프레임을 나타내는 websocket 메시지 유형 10을 지정하십시오.

1
const ws.PONG = 10;

CONNECTING

지정 WebSocket 연결 중임을 나타내는 상태

1
const ws.CONNECTING = 0;

OPEN

지정 WebSocket 열린 상태를 의미하는 상태

1
const ws.OPEN = 1;

CLOSING

지정 WebSocket CLOSE 메시지가 전송되었음을 나타내는 상태, 닫기 대기

1
const ws.CLOSING = 2;

CLOSED

지정 WebSocket 닫혀 있음을 의미하는 상태

1
const ws.CLOSED = 3;