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 recomienda usar 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

    Es el ID del socket recién creado.

CreateOptions

NetworkInterface

Propiedades

  • dirección

    string

    Es la dirección IPv4/6 disponible.

  • nombre

    string

    Es el nombre subyacente del adaptador. En *nix, suele ser "eth0", "lo", etcétera.

  • prefixLength

    número

    La longitud del prefijo

ReadInfo

Propiedades

  • datos

    ArrayBuffer

  • resultCode

    número

    Es el resultCode que se devolvió de la llamada a read() subyacente.

RecvFromInfo

Propiedades

  • dirección

    string

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

  • datos

    ArrayBuffer

  • puerto

    número

  • resultCode

    número

    Es el resultCode que se devolvió de la llamada a recvfrom() subyacente.

SecureOptions

Propiedades

SocketInfo

Propiedades

  • Conectado

    booleano

    Indica si el socket subyacente está conectado o no.

    En el caso de los sockets tcp, esto seguirá siendo verdadero incluso si el par remoto se desconectó. Luego, la lectura o escritura en el socket puede generar un error, lo que indica que este socket se debe desconectar a través de 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 de socket que se pasó. Será tcp o udp.

SocketType

Enum

"tcp"

"udp"

TLSVersionConstraints

Propiedades

  • máx.

    cadena opcional

  • min

    cadena opcional

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

    Los valores tls1 y tls1.1 ya no se admiten. Si min se establece en uno de estos valores, se ajustará 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.

WriteInfo

Propiedades

  • bytesWritten

    número

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

Métodos

accept()

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

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

Parámetros

  • socketId

    número

    Es el ID del socket.

  • callback

    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,
)
: void

Vincula la dirección local para el socket. Actualmente, no admite sockets TCP.

Parámetros

  • socketId

    número

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

  • callback

    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,
)
: void

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

Parámetros

  • socketId

    número

    Es el ID del socket.

  • Nombre de host

    string

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

  • puerto

    número

    Es el puerto de la máquina remota.

  • callback

    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,
)
: Promise<CreateInfo>

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

    Son las opciones de socket.

  • callback

    función opcional

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

    (createInfo: CreateInfo) => void

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.

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

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

Parámetros

  • socketId

    número

    Es el ID del socket.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Desconecta el socket. En el caso de los sockets UDP, disconnect es una no operación, pero es seguro llamarla.

Parámetros

  • socketId

    número

    Es el ID del socket.

getInfo()

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

Recupera el estado del socket determinado.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • callback

    función opcional

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

    (result: SocketInfo) => void

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.

getJoinedGroups()

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

Obtiene las direcciones de grupo de multidifusión a las que se unió el socket actualmente.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • callback

    función

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

    (groups: string[]) => void

    • grupos

      string[]

getNetworkList()

Promesa
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

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

Parámetros

Muestra

  • Promesa de NetworkInterface[]

    Chrome 121 y versiones posteriores

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

joinGroup()

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

Unirse al grupo de multidifusión 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

    Es el ID del socket.

  • dirección

    string

    Es la dirección del grupo al que se unirá. No se admiten nombres de dominios.

  • callback

    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,
)
: void

Abandona el grupo de transmisión por multidifusión al que te uniste anteriormente con joinGroup. No es necesario abandonar el grupo de multidifusión antes de destruir el socket o salir. El SO llama a este método automáticamente.

Si abandonas el grupo, se evitará que el router envíe datagramas de multidifusión al host local, suponiendo que ningún otro proceso en el host siga unido al grupo.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • dirección

    string

    Es la dirección del grupo que se abandonará. No se admiten nombres de dominios.

  • callback

    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,
)
: void

Este método solo se aplica a los sockets TCP. Espera conexiones en el puerto y la dirección especificados. Esto hace que sea un socket de servidor, y las funciones de socket de cliente (connect, read, write) ya no se pueden usar en este socket.

Parámetros

  • socketId

    número

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

  • backlog

    número opcional

    Es la longitud de la cola de escucha del socket.

  • callback

    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,
)
: void

Lee datos del socket conectado determinado.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • bufferSize

    número opcional

    Es el tamaño del búfer de lectura.

  • callback

    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,
)
: void

Recibe datos del socket UDP determinado.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • bufferSize

    número opcional

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

  • callback

    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,
)
: void

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

Parámetros

  • socketId

    número

    Es el socket conectado que se usará.

  • opciones

    SecureOptions opcional

    Son las restricciones y los parámetros de la conexión TLS.

  • callback

    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,
)
: void

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

Parámetros

  • socketId

    número

    Es el ID del socket.

  • datos

    ArrayBuffer

    Son los datos que se escribirán.

  • dirección

    string

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

  • puerto

    número

    Es el puerto de la máquina remota.

  • callback

    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,
)
: void

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

Parámetros

  • socketId

    número

    Es el ID del socket.

  • habilitar

    booleano

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

  • delay

    número opcional

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

  • callback

    función

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

    (result: boolean) => void

    • resultado

      booleano

setMulticastLoopbackMode()

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

Establece si los paquetes de multidifusión enviados desde el host al grupo de multidifusión se devolverán al host.

Nota: El comportamiento de setMulticastLoopbackMode es ligeramente diferente entre los sistemas Windows y los de tipo Unix. La incoherencia solo se produce cuando hay más de una aplicación en el mismo host unida al mismo grupo de multidifusión y con diferentes parámetros de configuración en el modo de bucle invertido de multidifusión. En Windows, las aplicaciones con bucle invertido desactivado no RECIBIRÁN los paquetes de bucle invertido, mientras que en los sistemas similares a Unix, las aplicaciones con bucle invertido desactivado no ENVIARÁN los paquetes de bucle invertido a otras aplicaciones en el mismo host. Consulta MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

Llamar a este método no requiere permisos de multidifusión.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • habilitado

    booleano

    Indica si se debe habilitar el modo de bucle invertido.

  • callback

    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,
)
: void

Establece el tiempo de vida de los paquetes de multidifusión enviados al grupo de multidifusión.

Llamar a este método no requiere permisos de multidifusión.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • ttl

    número

    Es el valor de tiempo de actividad.

  • callback

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

    • resultado

      booleano

write()

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

Escribe datos en el socket conectado determinado.

Parámetros

  • socketId

    número

    Es el ID del socket.

  • datos

    ArrayBuffer

    Son los datos que se escribirán.

  • callback

    función

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

    (writeInfo: WriteInfo) => void