모듈 ws
웹 소켓 지원 모듈
지침:
1var ws = require('ws');
서버 생성:
1
2
3
4
5
6
7
8
9var 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
4var ws = require('ws');
var conn = new ws.Socket('ws://127.0.0.1/ws');
conn.onmessage = e => console.log(e.data);
물체
Message
websocket 메시지 객체 생성, 참조WebSocketMessage
1WebSocketMessage ws.Message;
Socket
1WebSocket ws.Socket;
정적 함수
upgrade
에서 websocket 프로토콜 핸들러를 생성합니다.http업그레이드 요청 접수 및 악수, 생성WebSocket물체
1static Handler ws.upgrade(Function accept);
호출 매개변수:
- accept: 함수, 연결 성공 처리 함수, 콜백은 두 개의 매개변수를 전달합니다. 첫 번째 매개변수는 수신된 것입니다.WebSocket객체, 두 번째 매개변수는 핸드셰이크입니다.HttpRequest물체
반환 결과:
- Handler, 함께 사용할 수 있는 프로토콜 처리기를 반환합니다.HttpServer,Chain,Routing도킹 대기 중
`
에서 websocket 프로토콜 핸들러를 생성합니다.http업그레이드 요청 접수 및 악수, 생성WebSocket물체
1
2static Handler ws.upgrade(Object opts,
Function accept);
호출 매개변수:
- opts: 개체, 연결 옵션, 기본값은 {}입니다.
- accept: 함수, 연결 성공 처리 함수, 콜백은 두 개의 매개변수를 전달합니다. 첫 번째 매개변수는 수신된 것입니다.WebSocket객체, 두 번째 매개변수는 핸드셰이크입니다.HttpRequest물체
반환 결과:
- Handler, 함께 사용할 수 있는 프로토콜 처리기를 반환합니다.HttpServer,Chain,Routing도킹 대기 중
opts에는 요청에 대한 추가 옵션이 포함되어 있으며 지원되는 콘텐츠는 다음과 같습니다.
1
2
3
4{
"perMessageDeflate": false, // 指定是否支持压缩,缺省不支持
"maxPayload": 67108864 // 指定最大数据包尺寸,缺省为 67108864
}
끊임없는
CONTINUE
연속 프레임을 나타내는 websocket 메시지 유형 0 지정
1const ws.CONTINUE = 0;
TEXT
텍스트 프레임을 나타내는 websocket 메시지 유형 1 지정
1const ws.TEXT = 1;
BINARY
바이너리 프레임을 나타내는 websocket 메시지 유형 2 지정
1const ws.BINARY = 2;
CLOSE
websocket 메시지 유형 8을 지정하면 연결이 닫힙니다.
1const ws.CLOSE = 8;
PING
ping 프레임을 나타내는 websocket 메시지 유형 9 지정
1const ws.PING = 9;
PONG
pong 프레임을 나타내는 websocket 메시지 유형 10 지정
1const ws.PONG = 10;
CONNECTING
지정하다WebSocket연결 중임을 나타내는 상태
1const ws.CONNECTING = 0;
OPEN
지정하다WebSocket열린 상태를 나타내는 상태
1const ws.OPEN = 1;
CLOSING
지정하다WebSocketCLOSE 메시지가 전송되었고 닫히기를 기다리는 상태를 나타내는 상태
1const ws.CLOSING = 2;
CLOSED
지정하다WebSocket닫혀 있음을 나타내는 상태
1const ws.CLOSED = 3;