chrome.sockets.tcpServer

Описание

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

Манифест

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

"sockets"

Типы

AcceptErrorInfo

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

  • resultCode

    число

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

  • socketId

    число

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

AcceptInfo

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

  • clientSocketId

    число

    Идентификатор клиентского сокета, то есть идентификатор сокета вновь установленного соединения. Этот идентификатор сокета следует использовать только с функциями из пространства имен chrome.sockets.tcp . Обратите внимание, что клиентский сокет изначально приостановлен и должен быть явно разблокирован приложением для начала приема данных.

  • socketId

    число

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

CreateInfo

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

  • socketId

    число

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

SocketInfo

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

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

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

    Если сокет находится в режиме ожидания, он содержит свой локальный IPv4/6 адрес.

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

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

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

  • имя

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

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

  • пауза

    логический

    Флаг, указывающий, обрабатываются ли запросы на подключение к прослушивающему сокету через событие onAccept или ставятся в очередь ожидания. См. setPaused . Значение по умолчанию — "false".

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

    логический

    Флаг, указывающий, остаётся ли сокет открытым после выгрузки страницы событий приложения (см. SocketProperties.persistent ). Значение по умолчанию — «false».

  • socketId

    число

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

SocketProperties

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

  • имя

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

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

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

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

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

Методы

close()

Обещать
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

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

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

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 121+

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

create()

Обещать
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

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

Параметры

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

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

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

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

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

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

    (createInfo: CreateInfo) => void

    • создатьИнформацию

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

Возвраты

  • Promise <CreateInfo>

    Chrome 121+

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

disconnect()

Обещать
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

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

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

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 121+

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

getInfo()

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

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

Параметры

  • socketId

    число

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

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

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

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

    (socketInfo: SocketInfo) => void

    • socketInfo

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

Возвраты

  • Promise <SocketInfo>

    Chrome 121+

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

getSockets()

Обещать
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Параметры

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

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

Возвраты

  • Promise< SocketInfo []>

    Chrome 121+

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

listen()

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

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

Параметры

  • socketId

    число

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

  • адрес

    нить

    Адрес локального компьютера.

  • порт

    число

    Порт локальной машины. Если установлено значение 0 , свободный порт выбирается динамически. Динамически выделенный порт можно узнать, вызвав функцию getInfo .

  • невыполненные задачи

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

    Длина очереди прослушивания сокета. Значение по умолчанию зависит от операционной системы (SOMAXCONN), что обеспечивает разумную длину очереди для большинства приложений.

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

    функция

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

    (result: number) => void

    • результат

      число

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

setPaused()

Обещать
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

  • пауза

    логический

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

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

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 121+

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

update()

Обещать
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

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

    Свойства, которые необходимо обновить.

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

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

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 121+

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

События

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

Событие генерируется при установлении соединения с серверным сокетом.

Параметры

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

    функция

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

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

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

Параметры

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

    функция

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

    (info: AcceptErrorInfo) => void