객체 내장 객체

객체소켓

네트워크 소켓 객체

소켓이 속한 곳net모듈, 생성 방법

1
var s = new net.Socket();

상속관계

건설자

Socket

소켓 생성자, 새 소켓 객체 생성

1
new Socket(Integer family = net.AF_INET);

호출 매개변수:

  • family: 정수, 주소 세트를 지정합니다. 기본값은 AF_INET, ipv4입니다.

구성원 속성

family

정수, 현재 소켓 객체의 주소 집합을 쿼리합니다.

1
readonly Integer Socket.family;

remoteAddress

문자열, 현재 연결의 상대방 주소를 쿼리합니다.

1
readonly String Socket.remoteAddress;

remotePort

정수, 현재 연결된 피어 포트를 쿼리합니다.

1
readonly Integer Socket.remotePort;

localAddress

문자열, 현재 연결의 로컬 주소를 쿼리합니다.

1
readonly String Socket.localAddress;

localPort

정수, 현재 연결의 로컬 포트를 쿼리합니다.

1
readonly Integer Socket.localPort;

timeout

정수, 쿼리 및 설정 시간 초과 단위 밀리초

1
Integer Socket.timeout;

fd

정수, 쿼리Stream서브클래스에 의해 구현된 해당 파일 설명자 값

1
readonly Integer Socket.fd;

멤버 함수

connect

TCP 연결 설정

1 2 3
Socket.connect(String host, Integer port, Integer timeout = 0) async;

호출 매개변수:

  • host: 문자열, 상대방의 주소 또는 호스트 이름을 지정하거나 Unix 소켓 및 Windows 파이프 경로를 가리킬 수 있습니다.
  • port: 정수, 상대방의 포트를 지정하며, 유닉스 소켓과 윈도우 파이프 연결 시 이 매개변수는 0이어야 한다.
  • timeout: 정수, 시간 제한을 지정합니다. 단위는 밀리초이며 기본값은 0입니다.

bind

현재 소켓을 모든 로컬 주소의 지정된 포트에 바인딩합니다.

1 2
Socket.bind(Integer port, Boolean allowIPv4 = true);

호출 매개변수:

  • port: 정수, 바인딩된 포트를 지정합니다.
  • allowIPv4: 부울, ipv4 연결 허용 여부를 지정합니다. 기본값은 true입니다. 이 매개변수는 ipv6에 유효하며 운영 체제에 따라 다릅니다.

현재 소켓을 지정된 주소의 지정된 포트에 바인딩합니다.

1 2 3
Socket.bind(String addr, Integer port = 0, Boolean allowIPv4 = true);

호출 매개변수:

  • addr: 문자열, 바인딩 주소를 지정하고 Unix 소켓 및 Windows 파이프 경로를 가리킬 수도 있습니다.
  • port: 정수, 바인딩된 포트를 지정합니다. 이 매개변수는 Unix 소켓과 Windows 파이프를 바인딩할 때 무시됩니다.
  • allowIPv4: 부울, ipv4 연결 허용 여부를 지정합니다. 기본값은 true입니다. 이 매개변수는 ipv6에 유효하며 운영 체제에 따라 다릅니다.

listen

연결 요청 듣기 시작

1
Socket.listen(Integer backlog = 120);

호출 매개변수:

  • backlog: 정수, 요청 대기열 길이를 지정합니다. 제한을 초과하는 요청은 거부됩니다. 기본값은 120입니다.

accept

연결을 기다렸다가 수락하세요.

1
Socket Socket.accept() async;

결과 반환:

  • Socket, 수신된 연결 객체를 반환합니다.

recv

연결에서 지정된 크기의 데이터를 읽습니다.read 메소드와 달리, recv는 필요한 데이터를 읽었음을 보장하지 않으며, 데이터를 읽은 후 즉시 반환합니다.

1
Buffer Socket.recv(Integer bytes = -1) async;

호출 매개변수:

  • bytes: 정수, 읽을 데이터의 양을 지정합니다. 기본적으로 모든 크기의 데이터를 읽습니다.

결과 반환:

  • Buffer, 연결에서 읽은 데이터를 반환합니다.

send

주어진 데이터를 연결에 씁니다. 이 방법은 쓰기 방법과 동일합니다.

1
Socket.send(Buffer data) async;

호출 매개변수:

  • data:Buffer, 기록할 데이터가 주어지면

read

스트림에서 지정된 크기의 데이터를 읽습니다.

1
Buffer Socket.read(Integer bytes = -1) async;

호출 매개변수:

  • bytes: 정수, 읽을 데이터의 양을 지정합니다. 기본값은 임의 크기의 데이터 블록을 읽는 것입니다. 읽는 데이터의 크기는 장치에 따라 다릅니다.

결과 반환:

  • Buffer, 스트림에서 읽은 데이터를 반환하며, 읽을 데이터가 없거나 연결이 중단된 경우 null이 반환됩니다.

write

주어진 데이터를 스트림에 쓰기

1
Socket.write(Buffer data) async;

호출 매개변수:

  • data:Buffer, 기록할 데이터가 주어지면

flush

파일 버퍼 내용을 물리적 장치에 쓰기

1
Socket.flush() async;

close

현재 스트림 개체를 닫습니다.

1
Socket.close() async;

copyTo

스트림 데이터를 대상 스트림에 복사

1 2
Long Socket.copyTo(Stream stm, Long bytes = -1) async;

호출 매개변수:

  • stm:Stream, 대상 스트림 객체
  • bytes: Long, 복사된 바이트 수

결과 반환:

  • Long, 복사된 바이트 수를 반환합니다.

toString

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

1
String Socket.toString();

결과 반환:

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

toJSON

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

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

호출 매개변수:

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

결과 반환:

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