chrome.sockets.tcp

Описание

Используйте API chrome.sockets.tcp для отправки и получения данных по сети с использованием TCP-соединений. Этот API заменяет функциональность TCP, ранее доступную в API chrome.socket .

Манифест

Для использования этого API в манифесте необходимо указать следующие ключи.

"sockets"

Типы

CreateInfo

Характеристики

  • socketId

    число

    Идентификатор вновь созданного сокета. Обратите внимание, что идентификаторы сокетов, созданные с помощью этого API, несовместимы с идентификаторами сокетов, созданными с помощью других API, таких как устаревший API [ socket ](../socket/) .

DnsQueryType

Chrome 103+

Настройки разрешения DNS. По умолчанию используется any -сервер, а текущая конфигурация ОС может возвращать IPv4 или IPv6. ipv4 принудительно устанавливает IPv4, а ipv6 — IPv6.

Перечисление

"любой"

"ipv4"

"ipv6"

ReceiveErrorInfo

Характеристики

  • resultCode

    число

    Код результата, возвращенный в результате выполнения сетевого вызова.

  • socketId

    число

    Идентификатор сокета.

ReceiveInfo

Характеристики

  • данные

    ArrayBuffer

    Полученные данные имеют максимальный размер bufferSize .

  • socketId

    число

    Идентификатор сокета.

SecureOptions

Характеристики

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

      Массив объектов, содержащих информацию о сокете.

Возвраты

  • 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