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

Свойства

  • localAddress

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

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

  • localPort

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

    Если сокет прослушивается, содержит его локальный порт.

  • name

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

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

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

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

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

  • постоянный

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

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

  • socketId

    число

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

SocketProperties

Свойства

  • name

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

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

  • постоянный

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

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

Методы

close()

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

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

Параметры

  • socketId

    число

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

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

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

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

    () => void

Возвраты

  • Promise<void>

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

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

create()

Promise
chrome.sockets.tcpServer.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.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • socketId

    число

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

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

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

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

    () => void

Возвраты

  • Promise<void>

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

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

getInfo()

Promise
chrome.sockets.tcpServer.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.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Параметры

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

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

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

Возвраты

  • Promise<SocketInfo[]>

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

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

listen()

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

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

Параметры

  • socketId

    число

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

  • Обращаться (к определенному вопросу)

    string

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

  • порт

    число

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

  • бэклог

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

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

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

    function

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

    (result: number) => void

    • Результат

      число

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

setPaused()

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

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

Параметры

  • socketId

    число

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

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

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

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

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

    () => void

Возвраты

  • Promise<void>

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

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

update()

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

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

Параметры

  • socketId

    число

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

  • объекты

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

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

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

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

    () => void

Возвраты

  • Promise<void>

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

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

События

onAccept

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

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

Параметры

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

    function

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

    (info: AcceptInfo) => void

onAcceptError

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

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

Параметры

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

    function

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

    (info: AcceptErrorInfo) => void