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.

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

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Свойства

  • resultCode

    число

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

  • socketId

    число

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

ReceiveInfo

Свойства

  • делал.

    ArrayBuffer

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

  • socketId

    число

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

SecureOptions

Свойства

SendInfo

Свойства

  • bytesSent

    number (необязательно)

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

  • resultCode

    число

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

SocketInfo

Свойства

  • bufferSize

    number (необязательно)

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

  • подключено

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

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

  • localAddress

    Строка (необязательно)

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

  • localPort

    number (необязательно)

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

  • name

    Строка (необязательно)

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

  • приостановлено

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

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

  • peerAddress

    Строка (необязательно)

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

  • peerPort

    number (необязательно)

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

  • постоянный

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

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

  • socketId

    число

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

SocketProperties

Свойства

  • bufferSize

    number (необязательно)

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

  • name

    Строка (необязательно)

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

  • постоянный

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

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

TLSVersionConstraints

Свойства

  • Функция max

    Строка (необязательно)

  • мин.

    Строка (необязательно)

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

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

Методы

close()

Promise
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 121 и более поздних версий

    Объекты Promise поддерживаются только в 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

    string

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

  • peerPort

    число

    Порт удаленного компьютера.

  • dnsQueryType

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

    Chrome 103 и более поздних версий;

    Предпочтительный способ разрешения адресов.

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (result: number) => void

    • Результат

      число

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

create()

Promise
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

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

Параметры

  • объекты

    SocketProperties необязательный

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

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    (createInfo: CreateInfo) => void

    • createInfo

      Результат создания сокета.

Возвраты

  • Promise<CreateInfo>

    Chrome 121 и более поздних версий

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

disconnect()

Promise
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Отключает сокет.

Параметры

  • socketId

    число

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

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 121 и более поздних версий

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

getInfo()

Promise
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

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

Параметры

  • socketId

    число

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

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    (socketInfo: SocketInfo) => void

    • socketInfo

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

Возвраты

  • Promise<SocketInfo>

    Chrome 121 и более поздних версий

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

getSockets()

Promise
chrome.sockets.tcp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Параметры

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

Возвраты

  • Promise<SocketInfo[]>

    Chrome 121 и более поздних версий

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

secure()

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

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

Параметры

  • socketId

    число

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

  • Параметры

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

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

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (result: number) => void

    • Результат

      число

send()

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

Отправляет данные через указанный сокет TCP.

Параметры

  • socketId

    число

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

  • делал.

    ArrayBuffer

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

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (sendInfo: SendInfo) => void

    • sendInfo

      Результат метода send.

setKeepAlive()

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

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

Параметры

  • socketId

    число

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

  • Включить

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

    Если задано значение True, функция Keep-Alive включена.

  • delay

    number (необязательно)

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

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (result: number) => void

    • Результат

      число

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

setNoDelay()

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

Задает или удаляет TCP_NODELAY для TCP-подключения. Если задано значение TCP_NODELAY, алгоритм Нагла будет отключен.

Параметры

  • socketId

    число

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

  • noDelay

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

    Если задано значение true, алгоритм Нейгла отключается.

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (result: number) => void

    • Результат

      число

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

setPaused()

Promise
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

  • приостановлено

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

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 121 и более поздних версий

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

update()

Promise
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

  • объекты

    Свойства, которые нужно обновить.

  • обратный вызов

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

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 121 и более поздних версий

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

События

onReceive

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

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

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (info: ReceiveInfo) => void

onReceiveError

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

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

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (info: ReceiveErrorInfo) => void