chrome.sockets.udp

Descripción

Usa la API de chrome.sockets.udp para enviar y recibir datos a través de la red con conexiones UDP. Esta API sustituye la funcionalidad UDP que se encontraba anteriormente en la API de “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 recvfrom() subyacente

  • socketId

    número

    El ID del socket.

ReceiveInfo

Propiedades

  • datos

    ArrayBuffer

    El contenido del paquete UDP (truncado al tamaño del búfer actual).

  • remoteAddress

    cadena

    Es la dirección del host del que proviene el paquete.

  • remotePort

    número

    El puerto del host del que proviene el paquete.

  • socketId

    número

    El ID del socket.

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.

  • localAddress

    cadena opcional

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

  • localPort

    número opcional

    Si el socket subyacente está vinculado, 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 el socket está bloqueado y no puede activar eventos onReceive.

  • 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. Si el búfer es demasiado pequeño para recibir el paquete UDP, se pierden 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.

Métodos

bind()

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

Vincula la dirección local y el puerto para el socket. Para un socket de cliente, se recomienda usar el puerto 0 a fin de permitir que la plataforma elija un puerto libre.

Una vez que la operación bind se complete correctamente, se generarán eventos onReceive cuando los paquetes UDP lleguen a la dirección o el puerto especificados (a menos que el socket esté pausado).

Parámetros

  • socketId

    número

    El ID del socket.

  • de la página web.

    cadena

    Es la dirección de la máquina local. Se admiten nombres de DNS, IPv4 e IPv6. Usa “0.0.0.0” para aceptar paquetes de todas las interfaces de red disponibles locales.

  • puerto

    número

    Es el puerto de la máquina local. Utiliza "0" para la vinculación a un puerto libre.

  • 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.

close()

Promesa
chrome.sockets.udp.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

    El ID 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.

create()

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

Crea un socket UDP con las propiedades determinadas.

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.

getInfo()

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

Recupera el estado del socket determinado.

Parámetros

  • socketId

    número

    El ID 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.

getJoinedGroups()

Promesa
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

Obtiene las direcciones del grupo multicast a las que está unido el socket actualmente.

Parámetros

  • socketId

    número

    El ID del socket.

  • callback

    Función opcional

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

    (groups: string[])=>void

    • grupos

      string[]

      Array de grupos que unió el socket.

Devuelve

  • Promesa<string[]>

    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.udp.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.

joinGroup()

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

Se une al grupo de multicast y comienza a recibir paquetes de ese grupo. El socket debe estar vinculado a un puerto local antes de llamar a este método.

Parámetros

  • socketId

    número

    El ID del socket.

  • 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

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

leaveGroup()

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

Sal del grupo de multicast al que se unió antes con joinGroup. Esto solo es necesario para realizar la llamada si planeas seguir usando el socket después, ya que el SO lo hará automáticamente cuando el socket esté cerrado.

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

  • 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

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

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Envía datos del socket determinado a la dirección y el puerto especificados. El socket debe estar vinculado a un puerto local antes de llamar a este método.

Parámetros

  • socketId

    número

    El ID del socket.

  • datos

    ArrayBuffer

    Los datos que se enviará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.

  • 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:

    (sendInfo: SendInfo)=>void

    • sendInfo

      Resultado del método send.

setBroadcast()

Chrome 44 y versiones posteriores
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Habilita o inhabilita los paquetes de transmisión en este socket.

Parámetros

  • socketId

    número

    El ID del socket.

  • habilitado

    boolean

    true para habilitar los paquetes de transmisión y false para inhabilitarlos.

  • 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.

setMulticastLoopbackMode()

chrome.sockets.udp.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 ID del socket.

  • 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

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

setMulticastTimeToLive()

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

Establece el tiempo de actividad de los paquetes multicast enviados al grupo de multicast.

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

Parámetros

  • socketId

    número

    El ID del socket.

  • 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

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

setPaused()

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

Pausa o reanuda un socket. Un socket detenido está bloqueado para no activar eventos onReceive.

Parámetros

  • socketId

    número

  • detenido

    boolean

    Marca para indicar si se debe pausar o reanudar

  • 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.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Actualiza las propiedades del socket.

Parámetros

  • socketId

    número

    El ID 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.udp.onReceive.addListener(
  callback: function,
)

Evento generado cuando se recibe un paquete UDP para el socket determinado.

Parámetros

  • callback

    la función

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

    (info: ReceiveInfo)=>void

onReceiveError

chrome.sockets.udp.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 detiene y no se generarán más eventos onReceive para este socket hasta que se reanude.

Parámetros