Описание
Используйте 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 optional
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
Возвраты
Обещание<пустота>
Chrome 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 ( необязательный параметр)
Chrome 103+Настройки разрешения адресов.
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(result: number) => void
- результат
число
Код результата, возвращаемый при выполнении сетевого вызова. Отрицательное значение указывает на ошибку.
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Создает TCP-сокет.
Параметры
- характеристики
SocketProperties ( необязательно)
Свойства сокета (необязательно).
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(createInfo: CreateInfo) => void
- создатьИнформацию
Результат создания сокета.
Возвраты
Promise <CreateInfo>
Chrome 121+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Отключает розетку.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 121+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Получает состояние заданного сокета.
Параметры
- socketId
число
Идентификатор сокета.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(socketInfo: SocketInfo) => void
- socketInfo
Объект, содержащий информацию о сокете.
Возвраты
Promise <SocketInfo>
Chrome 121+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Получает список открытых в данный момент сокетов, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(socketInfos: SocketInfo[]) => void
- socketInfos
SocketInfo []
Массив объектов, содержащих информацию о сокете.
Возвраты
Promise< SocketInfo []>
Chrome 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
Включает или отключает функцию поддержания соединения (keep-alive) для TCP-соединения.
Параметры
- socketId
число
Идентификатор сокета.
- давать возможность
логический
Если это так, включите функцию поддержания соединения.
- задерживать
число необязательно
Установите задержку в секундах между получением последнего пакета данных и первым запросом подтверждения соединения. Значение по умолчанию — 0.
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(result: number) => void
- результат
число
Код результата, возвращаемый при выполнении сетевого вызова. Отрицательное значение указывает на ошибку.
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Устанавливает или снимает TCP_NODELAY для TCP-соединения. Алгоритм Нейгла будет отключен, если TCP_NODELAY установлен.
Параметры
- socketId
число
Идентификатор сокета.
- noDelay
логический
Если это так, алгоритм Нейгла отключается.
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(result: number) => void
- результат
число
Код результата, возвращаемый при выполнении сетевого вызова. Отрицательное значение указывает на ошибку.
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Включает или отключает возможность приложения получать сообщения от своего партнера. Значение по умолчанию — «false». Приостановка сокета обычно используется приложением для ограничения объема данных, отправляемых партнером. Когда сокет приостановлен, событие onReceive не генерируется. Когда сокет подключен и возобновлен, события onReceive генерируются снова при получении сообщений.
Параметры
- socketId
число
- пауза
логический
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 121+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Обновляет свойства сокета.
Параметры
- socketId
число
Идентификатор сокета.
- характеристики
Свойства, которые необходимо обновить.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 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
- информация