хром.розетка

Описание

Используйте API chrome.socket для отправки и получения данных по сети с использованием TCP- и UDP-подключений. Примечание: начиная с Chrome 33, этот API устарел в пользу API sockets.udp , sockets.tcp и sockets.tcpServer .

Разрешения

socket

Типы

AcceptInfo

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

  • resultCode

    число

  • socketId

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

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

CreateInfo

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

  • socketId

    число

    Идентификатор вновь созданного сокета.

CreateOptions

NetworkInterface

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

  • адрес

    нить

    Доступный адрес IPv4/6.

  • имя

    нить

    Базовое имя адаптера. В *nix это обычно «eth0», «lo» и т. д.

  • префиксДлина

    число

    Длина префикса

ReadInfo

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

  • данные

    ArrayBuffer

  • resultCode

    число

    Код результата, возвращаемый базовым вызовом read().

RecvFromInfo

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

  • адрес

    нить

    Адрес удаленной машины.

  • данные

    ArrayBuffer

  • порт

    число

  • resultCode

    число

    Код результата, возвращаемый базовым вызовом recvfrom().

SecureOptions

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

SocketInfo

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

  • подключен

    булев

    Подключен ли базовый сокет.

    Для tcp -сокетов это правило сохранится даже после отключения удалённого партнёра. Чтение или запись в сокет может привести к ошибке, указывающей на необходимость отключения сокета с помощью disconnect() .

    Для сокетов udp это просто показывает, был ли указан удаленный адрес по умолчанию для чтения и записи пакетов.

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

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

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

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

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

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

  • peerAddress

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

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

  • peerPort

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

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

  • socketType

    Тип переданного сокета. Это может быть tcp или udp .

SocketType

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

"tcp"

"udp"

TLSVersionConstraints

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

  • макс

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

  • мин

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

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

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

WriteInfo

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

  • байтыНаписано

    число

    Количество отправленных байтов или отрицательный код ошибки.

Методы

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Этот метод применим только к TCP-сокетам. Регистрирует функцию обратного вызова, которая будет вызвана при принятии соединения на данном сокете сервера. Функция Listen должна быть вызвана первой. Если уже есть активный обратный вызов Accept, этот обратный вызов будет вызван немедленно с ошибкой в качестве resultCode.

Параметры

  • socketId

    число

    SocketId.

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

    функция

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Привязывает локальный адрес к сокету. В настоящее время TCP-сокет не поддерживается.

Параметры

  • socketId

    число

    SocketId.

  • адрес

    нить

    Адрес локальной машины.

  • порт

    число

    Порт локальной машины.

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

    функция

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

    (result: number) => void

    • результат

      число

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Подключает сокет к удалённой машине (для tcp -сокета). Для udp -сокета это устанавливает адрес по умолчанию, на который отправляются и с которого считываются пакеты для вызовов read() и write() .

Параметры

  • socketId

    число

    SocketId.

  • имя хоста

    нить

    Имя хоста или IP-адрес удаленной машины.

  • порт

    число

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

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

    функция

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

    (result: number) => void

    • результат

      число

create()

Обещать
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Создает сокет указанного типа, который будет подключаться к указанной удаленной машине.

Параметры

  • тип

    Тип создаваемого сокета. Должен быть tcp или udp .

  • параметры

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

    Варианты розеток.

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

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

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

    (createInfo: CreateInfo) => void

Возврат

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

    Хром 121+

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Уничтожает сокет. Каждый созданный сокет должен быть уничтожен после использования.

Параметры

  • socketId

    число

    SocketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Отключает сокет. Для UDP-сокетов disconnect не является операцией, но её можно безопасно выполнить.

Параметры

  • socketId

    число

    SocketId.

getInfo()

Обещать
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Возвращает состояние указанного сокета.

Параметры

  • socketId

    число

    SocketId.

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

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

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

    (result: SocketInfo) => void

Возврат

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

    Хром 121+

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

Получить адреса многоадресной группы, к которой в данный момент присоединен сокет.

Параметры

  • socketId

    число

    SocketId.

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

    функция

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

    (groups: string[]) => void

    • группы

      нить[]

getNetworkList()

Обещать
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Получает информацию о локальных адаптерах в этой системе.

Параметры

Возврат

  • Обещание< СетевойИнтерфейс []>

    Хром 121+

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Присоединитесь к многоадресной группе и начните получать пакеты из этой группы. Перед вызовом этого метода сокет должен иметь тип UDP и быть привязан к локальному порту.

Параметры

  • socketId

    число

    SocketId.

  • адрес

    нить

    Адрес группы, к которой нужно присоединиться. Доменные имена не поддерживаются.

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

    функция

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

    (result: number) => void

    • результат

      число

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Выйдите из мультивещательной группы, к которой вы ранее присоединились с помощью joinGroup . Перед уничтожением сокета или выходом из системы выходить из мультивещательной группы не обязательно. Эта функция автоматически вызывается операционной системой.

Выход из группы не позволит маршрутизатору отправлять многоадресные датаграммы на локальный хост, при условии, что никакой другой процесс на хосте не присоединен к группе.

Параметры

  • socketId

    число

    SocketId.

  • адрес

    нить

    Адрес группы, которую нужно покинуть. Доменные имена не поддерживаются.

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

    функция

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

    (result: number) => void

    • результат

      число

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Этот метод применим только к TCP-сокетам. Прослушивает соединения по указанному порту и адресу. Это фактически делает сокет серверным, и функции клиентского сокета (подключение, чтение, запись) больше не могут использоваться на этом сокете.

Параметры

  • socketId

    число

    SocketId.

  • адрес

    нить

    Адрес локальной машины.

  • порт

    число

    Порт локальной машины.

  • отставание

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

    Длина очереди прослушивания сокета.

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

    функция

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

    (result: number) => void

    • результат

      число

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

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

Параметры

  • socketId

    число

    SocketId.

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

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

    Размер буфера чтения.

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

    функция

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Получает данные из указанного сокета UDP.

Параметры

  • socketId

    число

    SocketId.

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

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

    Размер приемного буфера.

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

    функция

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

Параметры

  • socketId

    число

    Подключенная розетка для использования.

  • параметры

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

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

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

    функция

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

    (result: number) => void

    • результат

      число

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Отправляет данные по указанному UDP-сокету на указанный адрес и порт.

Параметры

  • socketId

    число

    SocketId.

  • данные

    ArrayBuffer

    Данные для записи.

  • адрес

    нить

    Адрес удаленной машины.

  • порт

    число

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

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

    функция

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

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

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

Параметры

  • socketId

    число

    SocketId.

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

    булев

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

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

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

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

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

    функция

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

    (result: boolean) => void

    • результат

      булев

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Установите, будут ли пакеты многоадресной рассылки, отправленные с хоста в группу многоадресной рассылки, возвращаться обратно на хост.

Примечание: поведение setMulticastLoopbackMode немного различается в системах Windows и Unix. Несогласованность возникает только тогда, когда на одном узле находится несколько приложений, входящих в одну и ту же группу многоадресной рассылки, но с разными настройками режима многоадресной рассылки loopback. В Windows приложения с отключенной функцией loopback не будут ПОЛУЧАТЬ пакеты loopback; в то время как в Unix-системах приложения с отключенной функцией loopback не будут ОТПРАВЛЯТЬ пакеты loopback другим приложениям на том же узле. См. MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

Вызов этого метода не требует разрешений на многоадресную передачу.

Параметры

  • socketId

    число

    SocketId.

  • включено

    булев

    Укажите, следует ли включить режим замыкания на себя.

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

    функция

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

    (result: number) => void

    • результат

      число

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Установите время жизни многоадресных пакетов, отправляемых в многоадресную группу.

Вызов этого метода не требует разрешений на многоадресную передачу.

Параметры

  • socketId

    число

    SocketId.

  • ттл

    число

    Значение времени жизни.

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

    функция

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

    (result: number) => void

    • результат

      число

setNoDelay()

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

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

Параметры

  • socketId

    число

    SocketId.

  • noDelay

    булев

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

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

    функция

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

    (result: boolean) => void

    • результат

      булев

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

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

Параметры

  • socketId

    число

    SocketId.

  • данные

    ArrayBuffer

    Данные для записи.

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

    функция

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

    (writeInfo: WriteInfo) => void