chrome.socket

Descripción

Usa la API de chrome.socket para enviar y recibir datos a través de la red con conexiones TCP y UDP. Nota: A partir de Chrome 33, esta API dejó de estar disponible y se reemplazó por las APIs de sockets.udp, sockets.tcp y sockets.tcpServer.

Permisos

socket

Tipos

AcceptInfo

Propiedades

  • resultCode

    número

  • socketId

    número opcional

    Es el ID del socket aceptado.

CreateInfo

Propiedades

  • socketId

    número

    El ID del socket recién creado.

CreateOptions

NetworkInterface

Propiedades

  • de la página web.

    cadena

    La dirección IPv4/6 disponible.

  • name

    cadena

    El nombre subyacente del adaptador. En *nix, generalmente será “eth0”, “lo”, etcétera.

  • prefixLength

    número

    La longitud del prefijo

ReadInfo

Propiedades

  • datos

    ArrayBuffer

  • resultCode

    número

    El resultCode que se muestra de la llamada subyacente read().

RecvFromInfo

Propiedades

  • de la página web.

    cadena

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

  • datos

    ArrayBuffer

  • puerto

    número

  • resultCode

    número

    El resultCode que se muestra desde la llamada recvfrom() subyacente

SecureOptions

Propiedades

SocketInfo

Propiedades

  • Conectado

    boolean

    Indica si el socket subyacente está conectado o no.

    En el caso de los sockets tcp, esto permanecerá así incluso si se desconectó el par remoto. Leer o escribir en el socket puede generar un error, lo que sugiere que este socket debe desconectarse mediante disconnect().

    En el caso de los sockets udp, esto solo representa si se especificó una dirección remota predeterminada para leer y escribir paquetes.

  • localAddress

    cadena opcional

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

  • localPort

    número opcional

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

  • peerAddress

    cadena opcional

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

  • peerPort

    número opcional

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

  • socketType

    Es el tipo del socket pasado. Será tcp o udp.

SocketType

Enum

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.

WriteInfo

Propiedades

  • bytesWritten

    número

    La cantidad de bytes enviados o un código de error negativo.

Métodos

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)

Este método solo se aplica a los sockets TCP. Registra una función de devolución de llamada a la que se llamará cuando se acepte una conexión en este socket de servidor de escucha. Primero se debe llamar a la función Escuchar. Si ya hay una devolución de llamada de aceptación activa, esta se invocará de inmediato con un error como resultCode.

Parámetros

  • socketId

    número

    El socketId.

  • callback

    la función

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

    (acceptInfo: AcceptInfo)=>void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)

Vincula la dirección local para el socket. Por el momento, no es compatible con el socket TCP.

Parámetros

  • socketId

    número

    El socketId.

  • de la página web.

    cadena

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

  • puerto

    número

    Es el puerto de la máquina local.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)

Conecta el socket a la máquina remota (para un socket tcp). En un socket udp, esto establece la dirección predeterminada a la que se envían y se leen los paquetes para las llamadas read() y write().

Parámetros

  • socketId

    número

    El socketId.

  • Nombre de host

    cadena

    El nombre de host o la dirección IP de la máquina remota.

  • puerto

    número

    El puerto de la máquina remota.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

create()

Promesa
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Crea un socket del tipo especificado que se conectará a la máquina remota especificada.

Parámetros

  • tipo

    Es el tipo de socket que se creará. Debe ser tcp o udp.

  • Opciones

    CreateOptions opcional

    Las opciones de socket.

  • callback

    Función opcional

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

    (createInfo: CreateInfo)=>void

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.

destroy()

chrome.socket.destroy(
  socketId: number,
)

Destruye el socket. Cada socket creado debe destruirse después de su uso.

Parámetros

  • socketId

    número

    El socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Desconecta el socket. En el caso de los sockets UDP, disconnect no está en funcionamiento, pero es seguro llamarlo.

Parámetros

  • socketId

    número

    El socketId.

getInfo()

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

Recupera el estado del socket determinado.

Parámetros

  • socketId

    número

    El socketId.

  • callback

    Función opcional

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

    (result: SocketInfo)=>void

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.

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

Obtén las direcciones del grupo multicast a las que está unido el socket actualmente.

Parámetros

  • socketId

    número

    El socketId.

  • callback

    la función

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

    (groups: string[])=>void

    • grupos

      string[]

getNetworkList()

Promesa
chrome.socket.getNetworkList(
  callback?: function,
)

Recupera información sobre los adaptadores locales de este sistema.

Parámetros

Devuelve

  • Promise<NetworkInterface[]>

    Chrome 121 y versiones posteriores

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Unirte al grupo de multicast y comenzar a recibir paquetes de ese grupo El socket debe ser de tipo UDP y debe estar vinculado a un puerto local antes de llamar a este método.

Parámetros

  • socketId

    número

    El socketId.

  • de la página web.

    cadena

    La dirección del grupo al que te unirás. No se admiten los nombres de dominio.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)

Abandona el grupo de multicast al que te uniste anteriormente con joinGroup. No es necesario abandonar el grupo multicast antes de destruir el socket o salir. El SO llama a esta función automáticamente.

Si abandonas el grupo, se impedirá que el router envíe datagramas multicast al host local, suponiendo que no haya ningún otro proceso del host unido al grupo.

Parámetros

  • socketId

    número

    El socketId.

  • de la página web.

    cadena

    La dirección del grupo que se debe abandonar. No se admiten los nombres de dominio.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

listen()

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

Este método solo se aplica a los sockets TCP. Detecta conexiones en la dirección y el puerto especificados. Esto lo convierte en un socket de servidor, y las funciones de socket del cliente (conectar, leer, escribir) ya no se pueden usar en este socket.

Parámetros

  • socketId

    número

    El socketId.

  • de la página web.

    cadena

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

  • puerto

    número

    Es el puerto de la máquina local.

  • trabajo pendiente

    número opcional

    Longitud de la cola de escucha del socket.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Lee datos del socket conectado determinado.

Parámetros

  • socketId

    número

    El socketId.

  • bufferSize

    número opcional

    El tamaño del búfer de lectura.

  • callback

    la función

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

    (readInfo: ReadInfo)=>void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)

Recibe datos del socket UDP determinado.

Parámetros

  • socketId

    número

    El socketId.

  • bufferSize

    número opcional

    Es el tamaño del búfer de recepción.

  • callback

    la función

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

    (recvFromInfo: RecvFromInfo)=>void

secure()

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

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

Parámetros

  • socketId

    número

    El zócalo 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

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)

Envía datos del socket UDP determinado a la dirección y el puerto especificados.

Parámetros

  • socketId

    número

    El socketId.

  • datos

    ArrayBuffer

    Los datos que se escribirán.

  • de la página web.

    cadena

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

  • puerto

    número

    El puerto de la máquina remota.

  • callback

    la función

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

    (writeInfo: WriteInfo)=>void

setKeepAlive()

chrome.socket.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

    El socketId.

  • 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: boolean)=>void

    • resultado

      boolean

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Establece si los paquetes multicast enviados desde el host al grupo multicast se volverán a repetir en bucle al host.

Nota: El comportamiento de setMulticastLoopbackMode es ligeramente diferente entre sistemas de Windows y Unix. La incoherencia ocurre solo cuando hay más de una aplicación en el mismo host unida al mismo grupo de multicast y tienen diferentes configuraciones en el modo de bucle invertido de multicast. En Windows, las aplicaciones con bucle invertido no RECIBEN los paquetes de bucle invertido; mientras que en sistemas similares a Unix, las aplicaciones con este tipo de configuración no ENVIARÁN los paquetes de bucle invertido a otras aplicaciones del mismo host. Visita MSDN: http://goo.gl/6vqbj

Para llamar a este método, no se requieren permisos de multidifusión.

Parámetros

  • socketId

    número

    El socketId.

  • habilitado

    boolean

    Indica si deseas habilitar el modo de bucle invertido.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)

Establecer el tiempo de actividad de los paquetes de multidifusión enviados al grupo de multicast

Para llamar a este método, no se requieren permisos de multidifusión.

Parámetros

  • socketId

    número

    El socketId.

  • ttl

    número

    El valor del tiempo de actividad.

  • callback

    la función

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

    (result: number)=>void

    • resultado

      número

setNoDelay()

chrome.socket.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

    El socketId.

  • 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: boolean)=>void

    • resultado

      boolean

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Escribe datos en el socket conectado determinado.

Parámetros

  • socketId

    número

    El socketId.

  • datos

    ArrayBuffer

    Los datos que se escribirán.

  • callback

    la función

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

    (writeInfo: WriteInfo)=>void