Descripción
Usa la API de chrome.sockets.udp
para enviar y recibir datos a través de la red mediante conexiones UDP. Esta API sustituye la funcionalidad de UDP que se encontraba previamente en el "socket" en la API de Cloud.
Manifiesto
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 IDs de socket creados a partir de otras APIs, como la API de
[
socket](../socket/)
obsoleta.
DnsQueryType
Preferencias de resolución de DNS. El valor predeterminado es any
y usa la configuración del SO actual, que puede mostrar IPv4 o IPv6. ipv4
fuerza IPv4 y ipv6
fuerza IPv6.
Enum
“cualquiera”
"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
string
Es la dirección del host del que proviene el paquete.
-
remotePort
número
Es el puerto del host del que proviene el paquete.
-
socketId
número
El ID del socket.
SendInfo
Propiedades
-
bytesSent
número opcional
La cantidad 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
El tamaño del búfer que se usa para recibir datos. Si no se especificó ningún tamaño del búfer de forma explícita, no se proporciona el valor.
-
localAddress
string 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.
-
nombre
string opcional
Cadena definida por la aplicación asociada al socket.
-
detenido
boolean
Marca que indica si el socket está bloqueado para activar eventos onRecibir.
-
persistentes
boolean
Marca que indica si el socket se deja abierto cuando se suspende la aplicación (consulta
SocketProperties.persistent
). -
socketId
número
El identificador del socket.
SocketProperties
Propiedades
-
bufferSize
número opcional
El tamaño del búfer que se usa para recibir datos. Si el búfer es demasiado pequeño para recibir el paquete UDP, se pierden datos. El valor predeterminado es 4096.
-
nombre
string opcional
Una cadena definida por la aplicación asociada al 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 Administra el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier socket que se abrió previamente 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 y el puerto locales del socket. Para un socket de cliente, se recomienda usar el puerto 0 para permitir que la plataforma elija un puerto libre.
Una vez que la operación bind
se completa correctamente, los eventos onReceive
se generan cuando los paquetes UDP llegan a la dirección o al puerto especificado, a menos que el socket esté en pausa.
Parámetros
-
socketId
número
El ID del socket.
-
dirección
string
La dirección de la máquina local. Se admiten los formatos de nombre de DNS, IPv4 e IPv6. Usa “0.0.0.0” para aceptar paquetes de todas las interfaces de red disponibles locales.
-
puerto
número
El puerto de la máquina local. Utilice "0" para vincularse a un puerto libre.
-
callback
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()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
Cierra el socket y libera la dirección o el puerto al que está vinculado el socket. Cada socket creado debe cerrarse después de su uso. El ID del socket ya no es 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
El ID del socket.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promesa<void>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Crea un socket UDP con las propiedades determinadas.
Parámetros
-
properties
SocketProperties opcional
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.
-
Muestra
-
Promise<CreateInfo>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Recupera el estado de un 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.
-
Muestra
-
Promise<SocketInfo>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Obtiene las direcciones del grupo de multidifusión 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 a los que se unió el socket.
-
Muestra
-
Promise<string[]>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
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
Array de objeto que contiene información del socket.
-
Muestra
-
Promise<SocketInfo[]>
Chrome 121 y versiones posterioresLas 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 multidifusión 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.
-
dirección
string
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
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,
)
Sale del grupo de multidifusión que se unió antes mediante joinGroup
. Esto solo es necesario llamar si piensas seguir usando el socket más adelante, ya que el SO lo hará automáticamente cuando se cierre el socket.
Si abandonas el grupo, el router no podrá enviar datagramas de multidifusión al host local, suponiendo que no hay ningún otro proceso del host unido al grupo.
Parámetros
-
socketId
número
El ID del socket.
-
dirección
string
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
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 al 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.
-
dirección
string
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 posterioresLa preferencia de resolución de dirección.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(sendInfo: SendInfo) => void
-
sendInfo
Resultado del método
send
.
-
setBroadcast()
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,false
para inhabilitarlos. -
callback
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 de multidifusión enviados del host al grupo de multidifusión se repetirán en bucle al host.
Nota: El comportamiento de setMulticastLoopbackMode
es ligeramente diferente entre los sistemas Windows y Unix. La incoherencia se produce solo cuando hay más de una aplicación en el mismo host unida al mismo grupo de multidifusión mientras hay diferentes configuraciones en el modo de bucle invertido de multidifusión. En Windows, las aplicaciones con el bucle invertido desactivado no RECIBIRán los paquetes de bucle invertido. mientras que en sistemas similares a Unix, las aplicaciones con bucles desactivados no ENVIARán los paquetes de bucle invertido a otras aplicaciones del mismo host. Consulta MSDN: http://goo.gl/6vqbj
La llamada a este método no requiere permisos de multidifusión.
Parámetros
-
socketId
número
El ID del socket.
-
habilitado
boolean
Indica si se habilita el modo de bucle invertido.
-
callback
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 de multidifusión enviados al grupo de multidifusión.
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
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()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Pausa o reanuda un socket. Un socket detenido no puede 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
Muestra
-
Promesa<void>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
update()
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
Muestra
-
Promesa<void>
Chrome 121 y versiones posterioresLas 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
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveInfo) => void
-
información
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Evento generado cuando se produjo un error de red mientras el entorno de ejecución estaba esperando datos en la dirección y el puerto del socket. 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
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-