Объектсокет
объект сетевого сокета
Розетка принадлежитnetмодуль, метод создания
1var s = new net.Socket();
отношения наследства
Конструктор
Socket
Конструктор сокета, создает новый объект Socket.
1new Socket(Integer family = net.AF_INET);
Параметры звонка:
- family: целое число, укажите набор адресов, по умолчанию AF_INET, ipv4
свойства члена
family
Целое число, запрос набора адресов текущего объекта Socket.
1readonly Integer Socket.family;
remoteAddress
Строка, запрос адреса другой стороны текущего соединения.
1readonly String Socket.remoteAddress;
remotePort
Целое число, запросить текущий подключенный одноранговый порт.
1readonly Integer Socket.remotePort;
localAddress
Строка, запрос локального адреса текущего соединения.
1readonly String Socket.localAddress;
localPort
Целое число, запрос локального порта текущего соединения.
1readonly Integer Socket.localPort;
timeout
Целое число, запрос и установка единицы тайм-аута в миллисекундах
1Integer Socket.timeout;
fd
Целое число, запросStreamСоответствующее значение дескриптора файла, реализованное подклассами.
1readonly Integer Socket.fd;
функция-член
connect
Установить TCP-соединение
1
2
3Socket.connect(String host,
Integer port,
Integer timeout = 0) async;
Параметры звонка:
- host: строка, указывает адрес или имя хоста другой стороны или может указывать на пути сокетов Unix и каналов Windows.
- port: целое число, указывает порт другой стороны. При соединении сокета unix и канала Windows этот параметр должен быть равен 0.
- timeout: целое число, указывает время ожидания, единица измерения — миллисекунды, значение по умолчанию — 0.
bind
Привяжите текущий сокет к указанному порту всех локальных адресов.
1
2Socket.bind(Integer port,
Boolean allowIPv4 = true);
Параметры звонка:
- port: целое число, указывает привязанный порт.
- allowIPv4: логическое значение, указывает, принимать ли соединения ipv4, значение по умолчанию — true. Этот параметр действителен для ipv6 и зависит от операционной системы.
Привяжите текущий сокет к указанному порту по указанному адресу.
1
2
3Socket.bind(String addr,
Integer port = 0,
Boolean allowIPv4 = true);
Параметры звонка:
- addr: строка, указывает адрес привязки, а также может указывать на пути сокетов Unix и каналов Windows.
- port: целое число, указывает привязанный порт. Этот параметр игнорируется при привязке сокета unix и канала Windows.
- allowIPv4: логическое значение, указывает, принимать ли соединения ipv4, значение по умолчанию — true. Этот параметр действителен для ipv6 и зависит от операционной системы.
listen
Начните прослушивать запросы на подключение
1Socket.listen(Integer backlog = 120);
Параметры звонка:
- backlog: целое число, указывает длину очереди запросов. Запросы, превышающие этот предел, будут отклонены. Значение по умолчанию — 120.
accept
Подождите и примите соединение
1Socket Socket.accept() async;
Результаты возврата:
- Socket, возвращает полученный объект соединения
recv
Чтение данных заданного размера из соединения.В отличие от метода read, Recv не гарантирует, что необходимые данные были прочитаны, а возвращается сразу после чтения данных.
1Buffer Socket.recv(Integer bytes = -1) async;
Параметры звонка:
- bytes: целое число, указывает объем считываемых данных.По умолчанию считываются данные любого размера.
Результаты возврата:
- Buffer, возвращает данные, прочитанные из соединения
send
Запишите данные в соединение.Этот метод эквивалентен методу записи.
1Socket.send(Buffer data) async;
Параметры звонка:
- data:Buffer, учитывая данные, которые нужно записать
read
Считать данные указанного размера из потока
1Buffer Socket.read(Integer bytes = -1) async;
Параметры звонка:
- bytes: целое число, указывает объем считываемых данных.По умолчанию считываются блоки данных случайного размера.Размер считываемых данных зависит от устройства.
Результаты возврата:
- Buffer, возвращает данные, считанные из потока. Если данных для чтения нет или соединение прервано, возвращается значение null.
write
Записать данные в поток
1Socket.write(Buffer data) async;
Параметры звонка:
- data:Buffer, учитывая данные, которые нужно записать
flush
Записать содержимое файлового буфера на физическое устройство
1Socket.flush() async;
close
Закрыть текущий объект потока
1Socket.close() async;
copyTo
Скопировать данные потока в целевой поток
1
2Long Socket.copyTo(Stream stm,
Long bytes = -1) async;
Параметры звонка:
- stm:Stream, объект целевого потока
- bytes: Длинный, количество скопированных байтов.
Результаты возврата:
- Long, возвращает количество скопированных байтов
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String Socket.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value Socket.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON