chrome.sockets.tcp

Описание

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

Манифест

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

"sockets"

Типы

CreateInfo

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

  • идентификатор сокета

    число

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

DnsQueryType

Хром 103+

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

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

"любой"

"ipv4"

"ipv6"

ReceiveErrorInfo

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

  • код результата

    число

    Код результата, возвращенный базовым сетевым вызовом.

  • идентификатор сокета

    число

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

ReceiveInfo

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

  • данные

    МассивБуфер

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

  • идентификатор сокета

    число

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

SecureOptions

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

SendInfo

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

  • байтОтправлено

    номер необязательно

    Количество отправленных байт (если результат == 0)

  • код результата

    число

    Код результата, возвращенный базовым сетевым вызовом. Отрицательное значение указывает на ошибку.

SocketInfo

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

  • размер буфера

    номер необязательно

    Размер буфера, используемого для приема данных. Если размер буфера не указан явно, значение не предоставляется.

  • подключен

    логическое значение

    Флаг, указывающий, подключен ли сокет к удаленному узлу.

  • локальныйадрес

    строка необязательна

    Если базовый сокет подключен, он содержит его локальный адрес IPv4/6.

  • локальный порт

    номер необязательно

    Если базовый сокет подключен, содержит его локальный порт.

  • имя

    строка необязательна

    Определяемая приложением строка, связанная с сокетом.

  • остановился

    логическое значение

    Флаг, указывающий, блокирует ли подключенный сокет своему узлу отправку дополнительных данных (см. setPaused ).

  • адрес сверстника

    строка необязательна

    Если базовый сокет подключен, он содержит адрес узла/IPv4/6.

  • одноранговый порт

    номер необязательно

    Если базовый сокет подключен, он содержит одноранговый порт.

  • настойчивый

    логическое значение

    Флаг, указывающий, остается ли сокет открытым, когда приложение приостановлено (см. SocketProperties.persistent ).

  • идентификатор сокета

    число

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

SocketProperties

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

  • размер буфера

    номер необязательно

    Размер буфера, используемого для приема данных. Значение по умолчанию — 4096.

  • имя

    строка необязательна

    Определяемая приложением строка, связанная с сокетом.

  • настойчивый

    логическое значение необязательно

    Флаг, указывающий, остается ли сокет открытым при выгрузке страницы событий приложения (см. Управление жизненным циклом приложения ). Значение по умолчанию — «ложь». Когда приложение загружается, любые сокеты, ранее открытые с параметром persist=true, можно получить с помощью getSockets .

TLSVersionConstraints

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

  • Макс

    строка необязательна

  • мин

    строка необязательна

    Минимальная и максимально допустимая версии TLS. Поддерживаемые значения: tls1.2 или tls1.3 .

    Значения tls1 и tls1.1 больше не поддерживаются. Если min установлено одно из этих значений, оно будет автоматически ограничено значением tls1.2 . Если для max установлено одно из этих значений или любое другое неизвестное значение, оно будет игнорироваться.

Методы

close()

Обещать
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

Закрывает сокет и освобождает адрес/порт, к которому привязан сокет. Каждый созданный сокет должен быть закрыт после использования. Идентификатор сокета больше не действителен при вызове функции. Однако сокет гарантированно закроется только при вызове обратного вызова.

Параметры

  • идентификатор сокета

    число

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Подключает сокет к удаленному компьютеру. Когда операция connect завершается успешно, события onReceive возникают при получении данных от узла. Если во время приема пакетов средой выполнения возникает сетевая ошибка, возникает событие onReceiveError , после чего событие onReceive для этого сокета больше не будет вызываться до тех пор, пока не будет вызван метод resume .

Параметры

  • идентификатор сокета

    число

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

  • адрес сверстника

    нить

    Адрес удаленной машины. Поддерживаются DNS-имя, форматы IPv4 и IPv6.

  • одноранговый порт

    число

    Порт удаленной машины.

  • dnsQueryType

    DnsQueryType необязательно

    Хром 103+

    Предпочтение разрешения адреса.

  • перезвонить

    функция

    Параметр callback выглядит так:

    (result: number) => void

    • результат

      число

      Код результата, возвращенный базовым сетевым вызовом. Отрицательное значение указывает на ошибку.

create()

Обещать
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Создает TCP-сокет.

Параметры

  • характеристики

    Свойства сокета необязательно.

    Свойства сокета (необязательно).

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (createInfo: CreateInfo) => void

Возврат

  • Обещание <CreateInfo>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

disconnect()

Обещать
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

Отключает розетку.

Параметры

  • идентификатор сокета

    число

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getInfo()

Обещать
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

Получает состояние данного сокета.

Параметры

  • идентификатор сокета

    число

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

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (socketInfo: SocketInfo) => void

Возврат

  • Обещание <SocketInfo>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

getSockets()

Обещать
chrome.sockets.tcp.getSockets(
  callback?: function,
)

Получает список открытых в данный момент сокетов, принадлежащих приложению.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (socketInfos: SocketInfo[]) => void

Возврат

  • Обещание< SocketInfo []>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

Запустите клиентское соединение TLS через подключенный клиентский сокет TCP.

Параметры

  • идентификатор сокета

    число

    Существующий подключенный сокет, который нужно использовать.

  • параметры

    SecureOptions необязательно

    Ограничения и параметры для TLS-соединения.

  • перезвонить

    функция

    Параметр callback выглядит так:

    (result: number) => void

    • результат

      число

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Отправляет данные по данному TCP-сокету.

Параметры

  • идентификатор сокета

    число

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

  • данные

    МассивБуфер

    Данные для отправки.

  • перезвонить

    функция

    Параметр callback выглядит так:

    (sendInfo: SendInfo) => void

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

Включает или отключает функцию поддержания активности для TCP-соединения.

Параметры

  • идентификатор сокета

    число

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

  • давать возможность

    логическое значение

    Если это правда, включите функцию поддержания активности.

  • задерживать

    номер необязательно

    Установите задержку в секундах между последним полученным пакетом данных и первым подтверждением активности. По умолчанию — 0.

  • перезвонить

    функция

    Параметр callback выглядит так:

    (result: number) => void

    • результат

      число

      Код результата, возвращенный базовым сетевым вызовом. Отрицательное значение указывает на ошибку.

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

Устанавливает или очищает TCP_NODELAY для TCP-соединения. Алгоритм Нэгла будет отключен, если установлен TCP_NODELAY .

Параметры

  • идентификатор сокета

    число

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

  • без задержки

    логическое значение

    Если это правда, отключает алгоритм Нэгла.

  • перезвонить

    функция

    Параметр callback выглядит так:

    (result: number) => void

    • результат

      число

      Код результата, возвращенный базовым сетевым вызовом. Отрицательное значение указывает на ошибку.

setPaused()

Обещать
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Включает или отключает приложение от получения сообщений от своего узла. Значение по умолчанию — «ложь». Приостановка сокета обычно используется приложением для регулирования данных, отправляемых его узлом. Когда сокет приостановлен, событие onReceive не возникает. Когда сокет подключен и не находится на паузе, события onReceive вызываются снова при получении сообщений.

Параметры

  • идентификатор сокета

    число

  • остановился

    логическое значение

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

update()

Обещать
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Обновляет свойства сокета.

Параметры

  • идентификатор сокета

    число

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

  • характеристики

    Свойства для обновления.

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 121+

    Промисы поддерживаются только для Manifest V3 и более поздних версий, на других платформах необходимо использовать обратные вызовы.

События

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Событие возникает, когда данные получены для данного сокета.

Параметры

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

Событие возникает, когда возникает сетевая ошибка, пока среда выполнения ожидает данных об адресе сокета и порте. Как только это событие возникает, сокет устанавливается на paused , и для этого сокета больше не создаются события onReceive .

Параметры