chrome.sockets.tcpServer

Descripción

Usa la API de chrome.sockets.tcpServer para crear aplicaciones de servidor con conexiones TCP. Esta API reemplaza la funcionalidad de TCP que se encontraba anteriormente en la API de chrome.socket.

Manifiesto

Para usar esta API, se deben declarar las siguientes claves en el manifiesto.

"sockets"

Tipos

AcceptErrorInfo

Propiedades

  • resultCode

    número

    Es el código de resultado que se devolvió de la llamada de red subyacente.

  • socketId

    número

    Es el identificador del socket del servidor.

AcceptInfo

Propiedades

  • clientSocketId

    número

    Es el identificador del socket del cliente, es decir, el identificador del socket de la conexión establecida recientemente. Este identificador de socket solo se debe usar con funciones del espacio de nombres chrome.sockets.tcp. Ten en cuenta que el socket del cliente se pausa inicialmente y la aplicación debe reanudarlo de forma explícita para comenzar a recibir datos.

  • socketId

    número

    Es el identificador del socket del servidor.

CreateInfo

Propiedades

  • socketId

    número

    Es el ID del socket del servidor recién creado. Ten en cuenta que los IDs de socket creados a partir de esta API no son compatibles con los IDs de socket creados a partir de otras APIs, como la API de [socket](../socket/) obsoleta.

SocketInfo

Propiedades

  • localAddress

    cadena opcional

    Si el socket está en modo de escucha, contiene su dirección IPv4/6 local.

  • localPort

    número opcional

    Si el socket está en modo de escucha, contiene su puerto local.

  • nombre

    cadena opcional

    Es una cadena definida por la aplicación y asociada al socket.

  • detenido

    booleano

    Es una marca que indica si las solicitudes de conexión en un socket de escucha se envían a través del evento onAccept o se ponen en cola en el backlog de la cola de escucha. Consulta los setPaused. El valor predeterminado es "false".

  • persistentes

    booleano

    Es una marca que indica si el socket permanece abierto cuando se descarga la página del evento de la aplicación (consulta SocketProperties.persistent). El valor predeterminado es "false".

  • socketId

    número

    Es el identificador del socket.

SocketProperties

Propiedades

  • nombre

    cadena opcional

    Es una cadena definida por la aplicación y asociada al socket.

  • persistentes

    booleano opcional

    Es una marca que indica si el socket permanece abierto cuando se descarga la página de eventos de la aplicación (consulta Cómo administrar el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier socket que se haya abierto previamente con persistent=true se puede recuperar con getSockets.

Métodos

close()

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

Desconecta y destruye el socket. Cada socket creado debe cerrarse después de usarse. El ID de socket ya no es válido en cuanto se llama a la función. Sin embargo, se garantiza que el socket se cerrará solo cuando se invoque la devolución de llamada.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

create()

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

Crea un socket de servidor TCP.

Parámetros

  • properties

    Propiedades del socket (opcional).

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (createInfo: CreateInfo) => void

    • createInfo

      Es el resultado de la creación del socket.

Muestra

  • Promise<CreateInfo>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

disconnect()

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

Desconecta el socket de escucha, es decir, deja de aceptar conexiones nuevas y libera la dirección o el puerto al que está vinculado el socket. El identificador de socket sigue siendo válido, p.ej., se puede usar con listen para aceptar conexiones en un puerto y una dirección nuevos.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getInfo()

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

Recupera el estado del socket determinado.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objeto que contiene la información del socket.

Muestra

  • Promise<SocketInfo>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getSockets()

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

Recupera la lista de los sockets abiertos actualmente que son propiedad de la aplicación.

Parámetros

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Es un array de objetos que contiene información de los sockets.

Muestra

  • Promise<SocketInfo[]>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

listen()

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

Espera conexiones en el puerto y la dirección especificados. Si el puerto o la dirección están en uso, la devolución de llamada indica una falla.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • dirección

    string

    Es la dirección de la máquina local.

  • puerto

    número

    Es el puerto de la máquina local. Cuando se configura en 0, se elige un puerto libre de forma dinámica. Puedes encontrar el puerto asignado de forma dinámica llamando a getInfo.

  • backlog

    número opcional

    Es la longitud de la cola de escucha del socket. El valor predeterminado depende del sistema operativo (SOMAXCONN), lo que garantiza una longitud de cola razonable para la mayoría de las aplicaciones.

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (result: number) => void

    • resultado

      número

      Es el código de resultado que se devolvió de la llamada de red subyacente. Un valor negativo indica un error.

setPaused()

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

Habilita o inhabilita un socket de escucha para que acepte conexiones nuevas. Cuando se pausa, un socket de escucha acepta conexiones nuevas hasta que su registro pendiente (consulta la función listen) está lleno y, luego, rechaza solicitudes de conexión adicionales. Los eventos onAccept solo se generan cuando se reanuda el socket.

Parámetros

  • socketId

    número

  • detenido

    booleano

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

update()

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

Actualiza las propiedades del socket.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • properties

    Son las propiedades que se actualizarán.

  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

Eventos

onAccept

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

Evento que se genera cuando se establece una conexión con el socket del servidor.

Parámetros

  • callback

    función

    El parámetro callback se ve de la siguiente manera:

    (info: AcceptInfo) => void

onAcceptError

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

Evento que se genera cuando se produce un error de red mientras el tiempo de ejecución espera nuevas conexiones en la dirección y el puerto del socket. Una vez que se genera este evento, el socket se establece en paused y no se generan más eventos onAccept para este socket hasta que se reanude.

Parámetros