Описание
Используйте API chrome.sockets.tcp
для отправки и получения данных по сети с использованием TCP-соединений. Этот API заменяет функциональность TCP, ранее доступную в API chrome.socket
.
Манифест
Типы
CreateInfo
Характеристики
- socketId
число
Идентификатор вновь созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, например, устаревшего API
[
socket](../socket/)
.
DnsQueryType
Настройки разрешения DNS. Значение по умолчанию — any
, используется текущая конфигурация ОС, которая может возвращать IPv4 или IPv6. ipv4
принудительно использует IPv4, а ipv6
принудительно использует IPv6.
Перечисление
"любой" "ipv4" "ipv6"
ReceiveErrorInfo
Характеристики
- resultCode
число
Код результата, возвращенный из базового сетевого вызова.
- socketId
число
Идентификатор сокета.
ReceiveInfo
Характеристики
- данные
ArrayBuffer
Полученные данные имеют максимальный размер
bufferSize
. - socketId
число
Идентификатор сокета.
SecureOptions
Характеристики
- tlsVersion
TLSVersionConstraints (необязательно)
SendInfo
Характеристики
- байтыОтправлено
номер необязательно
Количество отправленных байтов (если результат == 0)
- resultCode
число
Код результата, возвращаемый базовым сетевым вызовом. Отрицательное значение указывает на ошибку.
SocketInfo
Характеристики
- Размер буфера
номер необязательно
Размер буфера, используемого для получения данных. Если размер буфера не указан явно, значение не предоставляется.
- подключен
булев
Флаг, указывающий, подключен ли сокет к удаленному узлу.
- локальный адрес
строка необязательная
Если базовый сокет подключен, содержит его локальный адрес IPv4/6.
- локальный порт
номер необязательно
Если базовый сокет подключен, содержит его локальный порт.
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- приостановлено
булев
Флаг, указывающий, блокирует ли подключенный сокет отправку данных своему одноранговому узлу (см.
setPaused
). - peerAddress
строка необязательная
Если базовый сокет подключен, содержит адрес однорангового узла/IPv4/6.
- peerPort
номер необязательно
Если базовый сокет подключен, содержит порт однорангового узла.
- настойчивый
булев
Флаг, указывающий, остается ли сокет открытым при приостановке приложения (см.
SocketProperties.persistent
). - socketId
число
Идентификатор сокета.
SocketProperties
Характеристики
- Размер буфера
номер необязательно
Размер буфера, используемого для получения данных. Значение по умолчанию — 4096.
- имя
строка необязательная
Определенная приложением строка, связанная с сокетом.
- настойчивый
логическое необязательное
Флаг, указывающий, остаётся ли сокет открытым при выгрузке страницы событий приложения (см. раздел Управление жизненным циклом приложения ). Значение по умолчанию — «false». После загрузки приложения все сокеты, ранее открытые с параметром persistent=true, можно получить с помощью
getSockets
.
TLSVersionConstraints
Характеристики
- макс
строка необязательная
- мин
строка необязательная
Минимально и максимально допустимые версии TLS. Поддерживаемые значения:
tls1.2
илиtls1.3
.Значения
tls1
иtls1.1
больше не поддерживаются. Еслиmin
равен одному из этих значений, он будет автоматически ограничен значениемtls1.2
. Еслиmax
равен одному из этих значений или любому другому нераспознанному значению, он будет автоматически проигнорирован.
Методы
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
Закрывает сокет и освобождает адрес/порт, к которому он привязан. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета становится действительным с момента вызова функции. Однако сокет гарантированно закрывается только при вызове обратного вызова.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Подключает сокет к удалённому компьютеру. После успешного завершения операции connect
при получении данных от одноранговой машины возникают события onReceive
. Если во время получения пакетов средой выполнения происходит сетевая ошибка, возникает событие onReceiveError
, после чего событие onReceive
для этого сокета больше не будет возникать до вызова метода resume
.
Параметры
- socketId
число
Идентификатор сокета.
- peerAddress
нить
Адрес удаленного компьютера. Поддерживаются форматы DNS-имени, IPv4 и IPv6.
- peerPort
число
Порт удаленной машины.
- dnsQueryType
DnsQueryType необязательно
Хром 103+Предпочтение разрешения адреса.
- перезвонить
функция
Параметр
callback
выглядит так:(result: number) => void
- результат
число
Код результата, возвращаемый базовым сетевым вызовом. Отрицательное значение указывает на ошибку.
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Создает TCP-сокет.
Параметры
- характеристики
SocketProperties необязательны
Свойства сокета (необязательно).
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(createInfo: CreateInfo) => void
- createInfo
Результат создания сокета.
Возврат
Обещание< CreateInfo >
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отсоединяет розетку.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Возвращает состояние указанного сокета.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(socketInfo: SocketInfo) => void
- socketInfo
Объект, содержащий информацию о сокете.
Возврат
Обещание <SocketInfo>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Возвращает список открытых в данный момент сокетов, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callback
выглядит так:(socketInfos: SocketInfo[]) => void
- socketInfos
SocketInfo []
Массив объектов, содержащий информацию о сокетах.
Возврат
Обещание< SocketInfo []>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Запустите клиентское соединение TLS через подключенный клиентский сокет TCP.
Параметры
- socketId
число
Существующая подключенная розетка для использования.
- параметры
SecureOptions необязательно
Ограничения и параметры TLS-соединения.
- перезвонить
функция
Параметр
callback
выглядит так:(result: number) => void
- результат
число
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Отправляет данные на указанный TCP-сокет.
Параметры
- socketId
число
Идентификатор сокета.
- данные
ArrayBuffer
Данные для отправки.
- перезвонить
функция
Параметр
callback
выглядит так:(sendInfo: SendInfo) => void
- sendInfo
Результат метода
send
.
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Включает или выключает функцию поддержания активности TCP-соединения.
Параметры
- socketId
число
Идентификатор сокета.
- давать возможность
булев
Если да, включите функцию поддержания активности.
- задерживать
номер необязательно
Установите задержку в секундах между последним полученным пакетом данных и первым запросом keepalive. Значение по умолчанию — 0.
- перезвонить
функция
Параметр
callback
выглядит так:(result: number) => void
- результат
число
Код результата, возвращаемый базовым сетевым вызовом. Отрицательное значение указывает на ошибку.
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Устанавливает или сбрасывает TCP_NODELAY
для TCP-соединения. Алгоритм Нейгла будет отключен при установке TCP_NODELAY
.
Параметры
- socketId
число
Идентификатор сокета.
- noDelay
булев
Если true, отключает алгоритм Нейгла.
- перезвонить
функция
Параметр
callback
выглядит так:(result: number) => void
- результат
число
Код результата, возвращаемый базовым сетевым вызовом. Отрицательное значение указывает на ошибку.
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Разрешает или запрещает приложению получать сообщения от однорангового узла. Значение по умолчанию — «false». Приостановка сокета обычно используется приложением для ограничения объема данных, отправляемых одноранговым узлом. При приостановке сокета событие onReceive
не возникает. Когда сокет подключен и снят с паузы, события onReceive
возникают снова при получении сообщений.
Параметры
- socketId
число
- приостановлено
булев
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
- socketId
число
Идентификатор сокета.
- характеристики
Свойства для обновления.
- перезвонить
функция необязательна
Параметр
callback
выглядит так:() => void
Возврат
Обещание<void>
Хром 121+Обещания поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.
События
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Событие возникает при получении данных для заданного сокета.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveInfo) => void
- информация
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Событие возникает при возникновении сетевой ошибки во время ожидания средой выполнения данных по адресу и порту сокета. После возникновения этого события сокет paused
, и события onReceive
для этого сокета больше не генерируются.
Параметры
- перезвонить
функция
Параметр
callback
выглядит так:(info: ReceiveErrorInfo) => void
- информация