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

Объект Socket

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

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

1
var s = new net.Socket();

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

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Stream|fd|read();write();flush();close();copyTo()] [<this>Socket|new Socket()|family;remoteAddress;remotePort;localAddress;localPort;timeout|connect();bind();listen();accept();recv();send()] [object] <:- [Stream] [Stream] <:- [Socket] Socket new Socket() family remoteAddress remotePort localAddress localPort timeout connect() bind() listen() accept() recv() send() Stream fd read() write() flush() close() copyTo() object toString() toJSON()

Конструктор

Socket

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

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

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

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

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

family

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

1
readonly Integer Socket.family;

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;

fd

Целое число, запрос Stream Соответствующее значение дескриптора файла, реализованное подклассом

1
readonly Integer Socket.fd;

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

connect

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

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

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

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

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 = 0, Boolean allowIPv4 = true);

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

  • addr: String, укажите адрес привязки или укажите путь к сокету unix и каналу Windows
  • port: Целое число, укажите связанный порт. При привязке сокета unix и канала Windows игнорируйте этот параметр.
  • 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, Верните данные, прочитанные из соединения

send

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

1
Socket.send(Buffer data) async;

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

  • data: Buffer, Учитывая данные для записи

read

Прочитать данные указанного размера из потока

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

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

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

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

  • Buffer, Верните данные, прочитанные из потока, если нет данных для чтения или соединение прервано, то верните ноль

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