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 se encontraba antes en la API de chrome.socket.

Manifest

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

"sockets"

Tipos

CreateInfo

Propiedades

  • socketId

    número

    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 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 mostrar IPv4 o IPv6. ipv4 fuerza la IPv4 y ipv6 fuerza la IPv6.

Enum

“ipv4”

“ipv6”

ReceiveErrorInfo

Propiedades

  • resultCode

    número

    El código de resultado que muestra la llamada de red subyacente.

  • socketId

    número

    Es el identificador del socket.

ReceiveInfo

Propiedades

  • datos

    ArrayBuffer

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

  • socketId

    número

    Es el identificador del socket.

SecureOptions

Propiedades

SendInfo

Propiedades

  • bytesSent

    número opcional

    El número de bytes enviados (si el resultado == 0)

  • resultCode

    número

    El código de resultado que muestra la llamada de red subyacente. Un valor negativo indica un error.

SocketInfo

Propiedades

  • bufferSize

    número opcional

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

  • Conectado

    boolean

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

  • localAddress

    cadena opcional

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

  • localPort

    número opcional

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

  • name

    cadena opcional

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

  • detenido

    boolean

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

  • peerAddress

    cadena opcional

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

  • peerPort

    número opcional

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

  • persistentes

    boolean

    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

    número opcional

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

  • name

    cadena opcional

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

  • persistentes

    booleano opcional

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

TLSVersionConstraints

Propiedades

  • max

    cadena opcional

  • min

    cadena 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 y tls1.1. Si min se establece en uno de estos valores, se fijará de forma silenciosa a tls1.2. Si estableces max en uno de esos valores o en cualquier otro valor no reconocido, se ignorará en silencio.

Métodos

close()

Promesa
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

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 apenas se llama a la función. Sin embargo, se garantiza que el socket solo se cerrará 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

Devuelve

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con 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,
)

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 intercambio de tráfico. Si se produce un error de red mientras el entorno de ejecución recibe paquetes, se genera un evento onReceiveError, en cuyo caso no se generará más evento onReceive para este socket hasta que se llame al método resume.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • peerAddress

    cadena

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

  • peerPort

    número

    El puerto de la máquina remota.

  • dnsQueryType

    DnsQueryType opcional

    Chrome 103 y versiones posteriores

    La preferencia de resolución de la dirección.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

      El código de resultado que muestra la llamada de red subyacente. Un valor negativo indica un error.

create()

Promesa
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Crea un socket TCP.

Parámetros

  • properties

    Las propiedades del socket (opcional).

  • callback

    Función opcional

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

    (createInfo: CreateInfo)=>void

    • createInfo

      El resultado de la creación del socket.

Devuelve

  • Promise<CreateInfo>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

disconnect()

Promesa
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

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

Devuelve

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getInfo()

Promesa
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

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.

Devuelve

  • Promise<SocketInfo>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getSockets()

Promesa
chrome.sockets.tcp.getSockets(
  callback?: function,
)

Recupera la lista de sockets actualmente abiertos 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

      Arreglo de objetos que contiene información del socket.

Devuelve

  • Promise<SocketInfo[]>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

secure()

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

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

Parámetros

  • socketId

    número

    El socket existente conectado que se usará.

  • Opciones

    SecureOptions opcional

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

  • callback

    la 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,
)

Envía datos en el socket TCP determinado.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • datos

    ArrayBuffer

    Los datos que se enviarán.

  • callback

    la función

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

    (sendInfo: SendInfo)=>void

    • sendInfo

      Resultado del método send.

setKeepAlive()

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

Habilita o inhabilita la funcionalidad keep-alive para una conexión TCP.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • enable

    boolean

    Si es verdadero, habilita la funcionalidad keep-alive.

  • delay

    número opcional

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

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

      El código de resultado que muestra la llamada de red subyacente. Un valor negativo indica un error.

setNoDelay()

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

Establece o borra TCP_NODELAY para una conexión TCP. Se inhabilitará el algoritmo de Nagle cuando se configure TCP_NODELAY.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • noDelay

    boolean

    Si es verdadero, inhabilita el algoritmo de Nagle.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

      El código de resultado que muestra la llamada de red subyacente. Un valor negativo indica un error.

setPaused()

Promesa
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Habilita o inhabilita la recepción de mensajes de la aplicación de intercambio de tráfico en la aplicación. El valor predeterminado es "false". Por lo general, una aplicación usa detener 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, los eventos onReceive se vuelven a generar cuando se reciben los mensajes.

Parámetros

  • socketId

    número

  • detenido

    boolean

  • callback

    Función opcional

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

    ()=>void

Devuelve

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

update()

Promesa
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Actualiza las propiedades del socket.

Parámetros

  • socketId

    número

    Es el identificador del socket.

  • properties

    Las propiedades que se actualizarán.

  • callback

    Función opcional

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

    ()=>void

Devuelve

  • Promise<void>

    Chrome 121 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

Eventos

onReceive

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

Evento generado cuando se reciben datos de un socket determinado

Parámetros

  • callback

    la función

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

    (info: ReceiveInfo)=>void

onReceiveError

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

Evento que se generó cuando se produjo un error de red mientras el entorno de ejecución estaba esperando datos en la dirección del socket y el puerto. 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