chrome.sockets.tcp

Описание

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

Манифест

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

"sockets"

Типы

CreateInfo

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

  • socketId

    число

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

DnsQueryType

Хром 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

Возврат

  • Обещание<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 []>

    Хром 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