Описание
 Используйте API chrome.socket для отправки и получения данных по сети с использованием TCP- и UDP-подключений. Примечание: начиная с Chrome 33, этот API устарел в пользу API sockets.udp , sockets.tcp и sockets.tcpServer .
Разрешения
socket Типы
AcceptInfo
Характеристики
- resultCodeчисло 
- socketIdномер необязательный Идентификатор принятого сокета. 
CreateInfo
Характеристики
- socketIdчисло Идентификатор вновь созданного сокета. 
CreateOptions
NetworkInterface
Характеристики
- адреснить Доступный адрес IPv4/6. 
- имянить Базовое имя адаптера. В *nix это обычно «eth0», «lo» и т. д. 
- префиксДлиначисло Длина префикса 
ReadInfo
Характеристики
- данныеArrayBuffer 
- resultCodeчисло Код результата, возвращаемый базовым вызовом read(). 
RecvFromInfo
Характеристики
- адреснить Адрес удаленной машины. 
- данныеArrayBuffer 
- портчисло 
- resultCodeчисло Код результата, возвращаемый базовым вызовом recvfrom(). 
SecureOptions
Характеристики
- tlsVersionTLSVersionConstraints (необязательно) 
SocketInfo
Характеристики
- подключенбулев Подключен ли базовый сокет. Для tcp-сокетов это правило сохранится даже после отключения удалённого партнёра. Чтение или запись в сокет может привести к ошибке, указывающей на необходимость отключения сокета с помощьюdisconnect().Для сокетов udpэто просто показывает, был ли указан удаленный адрес по умолчанию для чтения и записи пакетов.
- локальный адресстрока необязательная Если базовый сокет привязан или подключен, содержит его локальный адрес IPv4/6. 
- локальный портномер необязательный Если базовый сокет привязан или подключен, содержит его локальный порт. 
- peerAddressстрока необязательная Если базовый сокет подключен, содержит IPv4/6-адрес однорангового узла. 
- peerPortномер необязательный Если базовый сокет подключен, содержит порт подключенного однорангового узла. 
- socketTypeТип переданного сокета. Это может быть tcpилиudp.
SocketType
Перечисление
 "tcp"   "udp" 
TLSVersionConstraints
Характеристики
- максстрока необязательная 
- минстрока необязательная Минимально и максимально допустимые версии TLS. Поддерживаемые значения: tls1.2илиtls1.3.Значения tls1иtls1.1больше не поддерживаются. Еслиminравен одному из этих значений, он будет автоматически ограничен значениемtls1.2. Еслиmaxравен одному из этих значений или любому другому нераспознанному значению, он будет автоматически проигнорирован.
WriteInfo
Характеристики
- байтыНаписаночисло Количество отправленных байтов или отрицательный код ошибки. 
Методы
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
Этот метод применим только к TCP-сокетам. Регистрирует функцию обратного вызова, которая будет вызвана при принятии соединения на данном сокете сервера. Функция Listen должна быть вызвана первой. Если уже есть активный обратный вызов Accept, этот обратный вызов будет вызван немедленно с ошибкой в качестве resultCode.
Параметры
- socketIdчисло SocketId. 
- перезвонитьфункция Параметр callbackвыглядит так:(acceptInfo: AcceptInfo) => void - acceptInfo
 
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Привязывает локальный адрес к сокету. В настоящее время TCP-сокет не поддерживается.
Параметры
- socketIdчисло SocketId. 
- адреснить Адрес локальной машины. 
- портчисло Порт локальной машины. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
 Подключает сокет к удалённой машине (для tcp -сокета). Для udp -сокета это устанавливает адрес по умолчанию, на который отправляются и с которого считываются пакеты для вызовов read() и write() . 
Параметры
- socketIdчисло SocketId. 
- имя хостанить Имя хоста или IP-адрес удаленной машины. 
- портчисло Порт удаленной машины. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Создает сокет указанного типа, который будет подключаться к указанной удаленной машине.
Параметры
- типТип создаваемого сокета. Должен быть tcpилиudp.
- параметрыCreateOptions необязательно Варианты розеток. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(createInfo: CreateInfo) => void - createInfo
 
Возврат
- Обещание< CreateInfo > Хром 121+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
destroy()
chrome.socket.destroy(
socketId: number,
): void
Уничтожает сокет. Каждый созданный сокет должен быть уничтожен после использования.
Параметры
- socketIdчисло SocketId. 
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
 Отключает сокет. Для UDP-сокетов disconnect не является операцией, но её можно безопасно выполнить. 
Параметры
- socketIdчисло SocketId. 
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Возвращает состояние указанного сокета.
Параметры
- socketIdчисло SocketId. 
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(result: SocketInfo) => void - результат
 
Возврат
- Обещание <SocketInfo> Хром 121+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Получить адреса многоадресной группы, к которой в данный момент присоединен сокет.
Параметры
- socketIdчисло SocketId. 
- перезвонитьфункция Параметр callbackвыглядит так:(groups: string[]) => void - группынить[] 
 
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Получает информацию о локальных адаптерах в этой системе.
Параметры
- перезвонитьфункция необязательна Параметр callbackвыглядит так:(result: NetworkInterface[]) => void - результат
 
Возврат
- Обещание< СетевойИнтерфейс []> Хром 121+- Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы. 
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Присоединитесь к многоадресной группе и начните получать пакеты из этой группы. Перед вызовом этого метода сокет должен иметь тип UDP и быть привязан к локальному порту.
Параметры
- socketIdчисло SocketId. 
- адреснить Адрес группы, к которой нужно присоединиться. Доменные имена не поддерживаются. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
 Выйдите из мультивещательной группы, к которой вы ранее присоединились с помощью joinGroup . Перед уничтожением сокета или выходом из системы выходить из мультивещательной группы не обязательно. Эта функция автоматически вызывается операционной системой.
Выход из группы не позволит маршрутизатору отправлять многоадресные датаграммы на локальный хост, при условии, что никакой другой процесс на хосте не присоединен к группе.
Параметры
- socketIdчисло SocketId. 
- адреснить Адрес группы, которую нужно покинуть. Доменные имена не поддерживаются. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Этот метод применим только к TCP-сокетам. Прослушивает соединения по указанному порту и адресу. Это фактически делает сокет серверным, и функции клиентского сокета (подключение, чтение, запись) больше не могут использоваться на этом сокете.
Параметры
- socketIdчисло SocketId. 
- адреснить Адрес локальной машины. 
- портчисло Порт локальной машины. 
- отставаниеномер необязательный Длина очереди прослушивания сокета. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Считывает данные из указанного подключенного сокета.
Параметры
- socketIdчисло SocketId. 
- Размер буфераномер необязательный Размер буфера чтения. 
- перезвонитьфункция Параметр callbackвыглядит так:(readInfo: ReadInfo) => void - readInfo
 
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Получает данные из указанного сокета UDP.
Параметры
- socketIdчисло SocketId. 
- Размер буфераномер необязательный Размер приемного буфера. 
- перезвонитьфункция Параметр callbackвыглядит так:(recvFromInfo: RecvFromInfo) => void - recvFromInfo
 
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Запустите клиентское соединение TLS через подключенный клиентский сокет TCP.
Параметры
- socketIdчисло Подключенная розетка для использования. 
- параметрыSecureOptions необязательно Ограничения и параметры TLS-соединения. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Отправляет данные по указанному UDP-сокету на указанный адрес и порт.
Параметры
- socketIdчисло SocketId. 
- данныеArrayBuffer Данные для записи. 
- адреснить Адрес удаленной машины. 
- портчисло Порт удаленной машины. 
- перезвонитьфункция Параметр callbackвыглядит так:(writeInfo: WriteInfo) => void - writeInfo
 
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Включает или выключает функцию поддержания активности TCP-соединения.
Параметры
- socketIdчисло SocketId. 
- давать возможностьбулев Если да, включите функцию поддержания активности. 
- задерживатьномер необязательный Установите задержку в секундах между последним полученным пакетом данных и первым запросом keepalive. Значение по умолчанию — 0. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: boolean) => void - результатбулев 
 
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Установите, будут ли пакеты многоадресной рассылки, отправленные с хоста в группу многоадресной рассылки, возвращаться обратно на хост.
 Примечание: поведение setMulticastLoopbackMode немного различается в системах Windows и Unix. Несогласованность возникает только тогда, когда на одном узле находится несколько приложений, входящих в одну и ту же группу многоадресной рассылки, но с разными настройками режима многоадресной рассылки loopback. В Windows приложения с отключенной функцией loopback не будут ПОЛУЧАТЬ пакеты loopback; в то время как в Unix-системах приложения с отключенной функцией loopback не будут ОТПРАВЛЯТЬ пакеты loopback другим приложениям на том же узле. См. MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
Вызов этого метода не требует разрешений на многоадресную передачу.
Параметры
- socketIdчисло SocketId. 
- включенобулев Укажите, следует ли включить режим замыкания на себя. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Установите время жизни многоадресных пакетов, отправляемых в многоадресную группу.
Вызов этого метода не требует разрешений на многоадресную передачу.
Параметры
- socketIdчисло SocketId. 
- ттлчисло Значение времени жизни. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: number) => void - результатчисло 
 
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
 Устанавливает или сбрасывает TCP_NODELAY для TCP-соединения. Алгоритм Нейгла будет отключен при установке TCP_NODELAY . 
Параметры
- socketIdчисло SocketId. 
- noDelayбулев Если true, отключает алгоритм Нейгла. 
- перезвонитьфункция Параметр callbackвыглядит так:(result: boolean) => void - результатбулев 
 
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Записывает данные на указанный подключенный сокет.