chrome.sockets.tcp

Descripción

Usa la API de chrome.sockets.tcp para enviar y recibir datos a través de la red con conexiones TCP. Esta API reemplaza la funcionalidad de TCP que antes se encontraba en la API de chrome.socket.

Manifiesto

Las siguientes claves se deben declarar en el manifiesto para usar esta API.

"sockets"

Tipos

CreateInfo

Propiedades

  • socketId

    número

    Es el ID del socket 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.

DnsQueryType

Chrome 103 y versiones posteriores

Preferencias de resolución de DNS. El valor predeterminado es any y usa la configuración actual del SO, que puede devolver IPv4 o IPv6. ipv4 fuerza IPv4 y ipv6 fuerza IPv6.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propiedades

  • resultCode

    número

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

  • socketId

    número

    Es el identificador del socket.

ReceiveInfo

Propiedades

  • datos

    ArrayBuffer

    Son los datos recibidos, con un tamaño máximo de bufferSize.

  • socketId

    número

    Es el identificador del socket.

SecureOptions

Propiedades

SendInfo

Propiedades

  • bytesSent

    number opcional

    La cantidad de bytes enviados (si el resultado es 0)

  • resultCode

    número

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

SocketInfo

Propiedades

  • bufferSize

    number opcional

    Es el tamaño del búfer que se usa para recibir datos. Si no se especificó un tamaño de búfer de forma explícita, no se proporciona el valor.

  • Conectado

    booleano

    Marca que indica si el socket está conectado a un par remoto.

  • localAddress

    string opcional

    Si el socket subyacente está conectado, contiene su dirección IPv4/6 local.

  • localPort

    number opcional

    Si el socket subyacente está conectado, contiene su puerto local.

  • nombre

    string opcional

    Es la cadena definida por la aplicación asociada con el socket.

  • detenido

    booleano

    Es una marca que indica si un socket conectado impide que su par envíe más datos (consulta setPaused).

  • peerAddress

    string opcional

    Si el socket subyacente está conectado, contiene la dirección IPv4/6 del par.

  • peerPort

    number opcional

    Si el socket subyacente está conectado, contiene el puerto de par.

  • persistente

    booleano

    Marca que indica si el socket se deja abierto cuando se suspende la aplicación (consulta SocketProperties.persistent).

  • socketId

    número

    Es el identificador del socket.

SocketProperties

Propiedades

  • bufferSize

    number opcional

    Es el tamaño del búfer que se usa para recibir datos. El valor predeterminado es 4096.

  • nombre

    string opcional

    Es una cadena definida por la aplicación asociada con el socket.

  • persistente

    booleano opcional

    Marca que indica si el socket se deja abierto cuando se descarga la página de eventos de la aplicación (consulta Administra el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier socket que se haya abierto con persistent=true se puede recuperar con getSockets.

TLSVersionConstraints

Propiedades

  • máx.

    string opcional

  • min

    string opcional

    Las versiones mínima y máxima aceptables de TLS. Los valores admitidos son tls1.2 o tls1.3.

    Ya no se admiten los valores tls1 ni tls1.1. Si min se establece en uno de estos valores, se limitará de forma silenciosa a tls1.2. Si max se establece en uno de esos valores o en cualquier otro valor no reconocido, se ignorará de forma silenciosa.

Métodos

close()

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

Cierra el socket y libera la dirección o el puerto al que está vinculado. Cada socket creado debe cerrarse después de su uso. El ID del socket deja de ser 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.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

Conecta el socket a una máquina remota. Cuando la operación connect se completa correctamente, se generan eventos onReceive cuando se reciben datos del par. Si se produce un error de red mientras el entorno de ejecución recibe paquetes, se genera un evento onReceiveError, momento en el que no se generará más eventos onReceive para este socket hasta que se llame al método resume.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • peerAddress

    string

    Es la dirección de la máquina remota. Se admiten los formatos de nombre de DNS, IPv4 e IPv6.

  • peerPort

    número

    Es el puerto de la máquina remota.

  • dnsQueryType

    DnsQueryType opcional

    Chrome 103 y versiones posteriores

    Es la preferencia de resolución de direcciones.

  • 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 muestra de la llamada de red subyacente. Un valor negativo indica un error.

create()

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

Crea un socket TCP.

Parámetros

  • propiedades

    Las 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()

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

Desconecta el socket.

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()

Promise
chrome.sockets.tcp.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

      Es el 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()

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

Recupera la lista de sockets abiertos actualmente que pertenecen a 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 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.

secure()

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

Inicia una conexión de cliente TLS a través del socket del cliente TCP conectado.

Parámetros

  • socketId

    número

    Es el socket conectado existente que se usará.

  • opciones

    SecureOptions opcional

    Restricciones y parámetros para la conexión TLS.

  • callback

    función

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

    (result: number) => void

    • resultado

      número

send()

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

Envía datos en el socket TCP determinado.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • datos

    ArrayBuffer

    Son los datos que se enviarán.

  • callback

    función

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

    (sendInfo: SendInfo) => void

    • sendInfo

      Es el resultado del método send.

setKeepAlive()

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

Habilita o inhabilita la funcionalidad de mantener activa una conexión TCP.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • habilitar

    booleano

    Si es verdadero, habilita la funcionalidad de mantener activa la conexión.

  • delay

    number opcional

    Establece los segundos de retraso entre el último paquete de datos recibido y el primer sondeo de keepalive. El valor predeterminado es 0.

  • 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 devuelve de la llamada de red subyacente. Un valor negativo indica un error.

setNoDelay()

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

Establece o borra TCP_NODELAY para una conexión TCP. El algoritmo de Nagle se inhabilitará cuando se establezca TCP_NODELAY.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • noDelay

    booleano

    Si es verdadero, inhabilita el algoritmo de Nagle.

  • 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 muestra de la llamada de red subyacente. Un valor negativo indica un error.

setPaused()

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

Habilita o inhabilita que la aplicación reciba mensajes de su par. El valor predeterminado es "false". Por lo general, una aplicación pausa un socket para limitar los datos que envía su par. Cuando se pausa un socket, no se genera ningún evento onReceive. Cuando se conecta un socket y se reanuda, se vuelven a generar eventos onReceive cuando se reciben mensajes.

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()

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

Actualiza las propiedades del socket.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • propiedades

    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

onReceive

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

Es el evento que se genera cuando se reciben datos para un socket determinado.

Parámetros

  • callback

    función

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

    (info: ReceiveInfo) => void

onReceiveError

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

Es el evento que se genera cuando se produce un error de red mientras el entorno de ejecución espera datos 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 onReceive para este socket.

Parámetros