객체 내장 객체

객체웹소켓

WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 브라우저와 서버 사이에 중단 없는 연결을 설정하고 실시간 양방향 데이터 전송을 실현할 수 있으며 모든 형식의 데이터 전송을 지원할 수 있습니다. fibjs에서 WebSocket 지원 모듈은 WebSocket 서버 및 클라이언트 개발을 실현할 수 있는 해당 API 인터페이스를 제공합니다.

WebSocket 지원 모듈은 WebSocket 프로토콜의 구현일 뿐이며 HTTP 프로토콜 위에서 작동해야 합니다. 서버 측에서는 업그레이드 기능을 통해 HTTP 요청을 WebSocket 연결로 변환할 수 있으며, 클라이언트 측에서는 WebSocket 프로토콜의 URL을 통해 연결될 서버 주소를 지정해야 합니다.

WebSocket 서버 시작의 예:

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

클라이언트에서 위 서버에 대한 연결을 설정하는 예:

1 2 3 4 5 6 7 8 9 10 11 12
var ws = require("ws"); var conn = new ws.Socket("ws://127.0.0.1/ws"); // emit open event conn.onopen = () => { console.log("websocket connected"); conn.send("hi"); }; // emit close event conn.onmessage = evt => { console.log("websocket receive: " + evt.data); };

상속관계

건설자

WebSocket

웹소켓 생성자

1 2 3
new WebSocket(String url, String protocol = "", String origin = "");

호출 매개변수:

  • url: 문자열, 연결된 서버를 지정합니다.
  • protocol: 문자열, 핸드셰이크 프로토콜을 지정합니다. 기본값은 ""입니다.
  • origin: 문자열, 핸드셰이크 중 시뮬레이션 소스를 지정합니다. 기본값은 ""입니다.

웹소켓 생성자

1 2
new WebSocket(String url, Object opts);

호출 매개변수:

  • url: 문자열, 연결된 서버를 지정합니다.
  • opts: 객체, 연결 옵션, 기본값은 {}입니다.

opts에는 다음과 같이 지원되는 요청에 대한 추가 옵션이 포함되어 있습니다.

1 2 3 4 5 6 7 8
{ "protocol": "", // specify the sub-protocol, default is "" "origin": "", // specify the origin, default is "" "perMessageDeflate": false, // specify whether to enable permessage-deflate, default is false "maxPayload": 67108864, // specify the max payload size, default is 64MB "httpClient": hc, // specify the http client, default is null, use the global http client "headers": // specify the http headers, default is {} }

정적 속성

defaultMaxListeners

정수, 기본 전역 최대 리스너 수

1
static Integer WebSocket.defaultMaxListeners;

구성원 속성

url

문자열, 현재 객체가 연결된 서버를 쿼리합니다.

1
readonly String WebSocket.url;

protocol

문자열, 현재 개체 연결의 프로토콜을 쿼리합니다.

1
readonly String WebSocket.protocol;

origin

문자열, 현재 개체 연결의 소스를 쿼리합니다.

1
readonly String WebSocket.origin;

readyState

정수, 현재 개체의 연결 상태를 쿼리합니다.ws

1
readonly Integer WebSocket.readyState;

onopen

함수, 쿼리 및 바인드 연결 성공 이벤트. on("open", func);

1
Function WebSocket.onopen;

onmessage

상대방으로부터 메시지를 수신하는 함수, 쿼리 및 바인드 이벤트. on("message", func);

1
Function WebSocket.onmessage;

onclose

함수, 쿼리 및 바인딩 연결 종료 이벤트(on("close", func);와 동일)

1
Function WebSocket.onclose;

onerror

오류 발생 시 함수, 쿼리 및 바인드 이벤트. on("error", func);

1
Function WebSocket.onerror;

멤버 함수

close

현재 연결을 닫습니다. 이 작업은 상대방에게 CLOSE 패킷을 보내고 상대방의 응답을 기다립니다.

1 2
WebSocket.close(Integer code = 1000, String reason = "");

호출 매개변수:

  • code: 정수, 종료 코드를 지정합니다. 허용되는 값은 3000-4999 또는 1000이며 기본값은 1000입니다.
  • reason: 문자열, 종료 이유를 지정하며 기본값은 ""입니다.

send

상대방에게 문자 보내기

1
WebSocket.send(String data);

호출 매개변수:

  • data: 문자열, 전송할 텍스트를 지정합니다.

상대방에게 바이너리 데이터 조각 보내기

1
WebSocket.send(Buffer data);

호출 매개변수:

  • data:Buffer, 전송된 바이너리 데이터를 지정합니다.

ref

fibjs 프로세스가 종료되지 않도록 유지하고 객체 바인딩 중에 fibjs 프로세스가 종료되지 않도록 방지

1
WebSocket WebSocket.ref();

결과 반환:

  • WebSocket, 현재 객체를 반환합니다.

unref

fibjs 프로세스 종료를 허용합니다. 객체 바인딩 중에 fibjs 프로세스가 종료되도록 허용합니다.

1
WebSocket WebSocket.unref();

결과 반환:

  • WebSocket, 현재 객체를 반환합니다.

on

이벤트 핸들러를 객체에 바인딩

1 2
Object WebSocket.on(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체에 바인딩

1
Object WebSocket.on(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

addListener

이벤트 핸들러를 객체에 바인딩

1 2
Object WebSocket.addListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체에 바인딩

1
Object WebSocket.addListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

prependListener

이벤트 핸들러를 객체의 원점에 바인딩

1 2
Object WebSocket.prependListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체의 원점에 바인딩

1
Object WebSocket.prependListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

once

일회성 이벤트 핸들러를 객체에 바인딩합니다. 일회성 핸들러는 한 번만 트리거됩니다.

1 2
Object WebSocket.once(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

일회성 이벤트 핸들러를 객체에 바인딩합니다. 일회성 핸들러는 한 번만 트리거됩니다.

1
Object WebSocket.once(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

prependOnceListener

이벤트 핸들러를 객체의 원점에 바인딩

1 2
Object WebSocket.prependOnceListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체의 원점에 바인딩

1
Object WebSocket.prependOnceListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

off

객체 처리 대기열에서 기능 할당 취소

1 2
Object WebSocket.off(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열의 모든 기능 취소

1
Object WebSocket.off(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열에서 기능 할당 취소

1
Object WebSocket.off(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름을 이벤트 이름으로 사용하고, 해당 속성의 값을 이벤트 처리 함수로 사용합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

removeListener

객체 처리 대기열에서 기능 할당 취소

1 2
Object WebSocket.removeListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열의 모든 기능 취소

1
Object WebSocket.removeListener(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열에서 기능 할당 취소

1
Object WebSocket.removeListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름을 이벤트 이름으로 사용하고, 해당 속성의 값을 이벤트 처리 함수로 사용합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

removeAllListeners

객체의 처리 대기열에서 모든 이벤트에 대한 모든 리스너를 취소합니다. 이벤트가 지정된 경우 지정된 이벤트에 대한 모든 리스너를 제거합니다.

1
Object WebSocket.removeAllListeners(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체의 처리 대기열에서 모든 이벤트에 대한 모든 리스너를 취소합니다. 이벤트가 지정된 경우 지정된 이벤트에 대한 모든 리스너를 제거합니다.

1
Object WebSocket.removeAllListeners(Array evs = []);

호출 매개변수:

  • evs: 배열, 이벤트 이름 지정

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

setMaxListeners

호환성만을 위한 리스너 수의 기본 제한

1
WebSocket.setMaxListeners(Integer n);

호출 매개변수:

  • n: 정수, 이벤트 수를 지정합니다.

getMaxListeners

호환성만을 위해 기본 제한 수의 리스너를 가져옵니다.

1
Integer WebSocket.getMaxListeners();

결과 반환:

  • Integer, 기본 제한 수량을 반환합니다.

listeners

객체의 지정된 이벤트에 대한 리스너 배열을 쿼리합니다.

1
Array WebSocket.listeners(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Array, 지정된 이벤트에 대한 리스너 배열을 반환합니다.

listenerCount

객체의 지정된 이벤트에 대한 리스너 수를 쿼리합니다.

1
Integer WebSocket.listenerCount(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Integer, 지정된 이벤트에 대한 리스너 수를 반환합니다.

객체의 지정된 이벤트에 대한 리스너 수를 쿼리합니다.

1 2
Integer WebSocket.listenerCount(Value o, String ev);

호출 매개변수:

  • o: 값, 쿼리 개체를 지정합니다.
  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Integer, 지정된 이벤트에 대한 리스너 수를 반환합니다.

eventNames

쿼리 리스너 이벤트 이름

1
Array WebSocket.eventNames();

결과 반환:

  • Array, 이벤트 이름의 배열을 반환합니다.

emit

이벤트를 적극적으로 트리거

1 2
Boolean WebSocket.emit(String ev, ...args);

호출 매개변수:

  • ev: 문자열, 이벤트 이름
  • args: ..., 이벤트 매개변수가 이벤트 처리 함수에 전달됩니다.

결과 반환:

  • Boolean, 이벤트 트리거 상태를 반환하고, 응답 이벤트가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String WebSocket.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

1
Value WebSocket.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.