Объект встроенный объект

Разъем объекта

Объект сетевого сокета

Сокет принадлежит net модулю, способ создания

1
var s = new net.Socket();

Наследование

Конструктор

Socket

Конструктор сокета, создайте новый объект Socket

1 2
new Socket(Integer family = net.AF_INET, Integer type = net.SOCK_STREAM);

Параметры звонка:

  • family : Integer, укажите набор адресов, по умолчанию AF_INET, ipv4
  • type : Integer, укажите семейство протоколов, по умолчанию SOCK_STREAM, tcp

Атрибуты члена

family

Целое число, запросить набор адресов текущего объекта Socket

1
readonly Integer Socket.family;

type

Целое число, запросить семейство протоколов текущего объекта Socket

1
readonly Integer Socket.type;

remoteAddress

String, запросить адрес другой стороны, подключенной в данный момент

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;

Функция члена

connect

Установить TCP-соединение

1 2
Socket.connect(String host, Integer port) async;

Параметры звонка:

  • host : String, укажите адрес или имя хоста другой стороны
  • port : Целое число, укажите другой порт

bind

Привязать текущий Socket к указанному порту всех локальных адресов

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

Параметры звонка:

  • port : Целое число, укажите связанный порт
  • allowIPv4 : Boolean, укажите, принимать ли соединения ipv4, по умолчанию true. Этот параметр действителен в ipv6 и зависит от операционной системы.

Привязать текущий Socket к указанному порту указанного адреса

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

Параметры звонка:

  • addr : String, укажите адрес привязки
  • port : Целое число, укажите связанный порт
  • allowIPv4 : Boolean, укажите, принимать ли соединения ipv4, по умолчанию true. Этот параметр действителен в ipv6 и зависит от операционной системы.

listen

Начать прослушивание запросов на подключение

1
Socket.listen(Integer backlog = 120);

Параметры звонка:

  • backlog : целое число, укажите длину очереди запросов, запросы сверх этого значения будут отклонены, по умолчанию 120

accept

Подождите и примите соединение

1
Socket Socket.accept() async;

Результат возврата:

  • Socket , вернуть полученный объект подключения

recv

Чтение указанного размера данных из соединения, в отличие от метода чтения, recv не гарантирует, что требуемые данные будут прочитаны, но возвращается сразу после чтения данных

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

Параметры звонка:

  • bytes : целое число, укажите объем данных для чтения, по умолчанию считываются данные любого размера

Результат возврата:

  • Buffer , возвращает данные, прочитанные из соединения

recvfrom

Прочитать пакет UDP

1
NObject Socket.recvfrom(Integer bytes = -1) async;

Параметры звонка:

  • bytes : целое число, укажите объем данных для чтения, по умолчанию считываются данные любого размера

Результат возврата:

  • NObject , вернуть пакет данных, прочитанный из соединения

Результаты, возвращаемые recvfrom, включают следующее:

  • data : получен блок двоичных данных
  • address : адрес отправителя
  • port : порт отправителя

send

Запишите данные в соединение, этот метод эквивалентен методу записи

1
Socket.send(Buffer data) async;

Параметры звонка:

  • data : Buffer , в который записываются данные

sendto

Отправить пакет UDP на указанный порт ip:

1 2 3
Socket.sendto(Buffer data, String host, Integer port) async;

Параметры звонка:

  • data : Buffer , в который записываются данные
  • host : String, укажите целевой ip или имя хоста
  • port : Целое число, укажите целевой порт

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