모듈 기본 모듈

모듈 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.run();

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 객체이고 두 번째 매개 변수는 핸드 셰이크 중 HttpRequest 객체입니다.

반환 결과 :


웹 소켓 프로토콜 프로세서를 생성하고, http 로부터 업그레이드 요청을 받고 악수하고 WebSocket 객체를 생성합니다.

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

호출 매개 변수 :

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

반환 결과 :

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

1 2 3 4
{ "perMessageDeflate": true, // 指定是否支持压缩,缺省支持 "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 상태를 지정하여 닫 WebSocket 을 의미합니다.

1
const ws.CLOSED = 3;