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 reemplaza la funcionalidad de UDP que antes se encontraba en la API de "socket".
Manifiesto
Tipos
CreateInfo
Propiedades
-
socketId
número
Es 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 actual del SO, que puede devolver IPv4 o IPv6. ipv4 fuerza IPv4 y ipv6 fuerza IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Propiedades
-
resultCode
número
Es el código de resultado que se muestra desde la llamada recvfrom() subyacente.
-
socketId
número
Es el ID del socket.
ReceiveInfo
Propiedades
-
datos
ArrayBuffer
Es el contenido del paquete UDP (truncado al tamaño actual del búfer).
-
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
Es el ID del socket.
SendInfo
Propiedades
-
bytesSent
number opcional
La cantidad de bytes enviados (si el resultado es 0)
-
resultCode
número
Es el código de resultado que se devuelve de la llamada de red subyacente. Un valor negativo indica un error.
SocketInfo
Propiedades
-
bufferSize
number opcional
Es el tamaño del búfer que se usa para recibir datos. Si no se especificó un tamaño de 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
number opcional
Si el socket subyacente está vinculado, contiene su puerto local.
-
nombre
string opcional
Es la cadena definida por la aplicación asociada con el socket.
-
detenido
booleano
Marca que indica si el socket tiene bloqueada la activación de eventos onReceive.
-
persistente
booleano
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
number opcional
Es 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
Es una cadena definida por la aplicación asociada con el socket.
-
persistente
booleano opcional
Marca que indica si el socket se deja abierto cuando se descarga la página de eventos 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 haya abierto con persistent=true se puede recuperar con
getSockets.
Métodos
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Vincula la dirección y el puerto locales para el socket. Para un socket del 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, se generan eventos onReceive cuando llegan paquetes UDP a la dirección o el puerto especificados, a menos que el socket esté en pausa.
Parámetros
-
socketId
número
Es el ID del socket.
-
dirección
string
Es 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 locales disponibles.
-
puerto
número
Es el puerto de la máquina local. Usa "0" para vincularlo a un puerto libre.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de la llamada de red subyacente. Un valor negativo indica un error.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
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 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
Es el ID del socket.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Crea un socket UDP con las propiedades dadas.
Parámetros
-
propiedades
SocketProperties opcional
Las propiedades del socket (opcional).
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(createInfo: CreateInfo) => void
-
createInfo
Es el resultado de la creación del socket.
-
Muestra
-
Promise<CreateInfo>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getInfo()
chrome.sockets.udp.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
callbackse ve de la siguiente manera:(socketInfo: SocketInfo) => void
-
socketInfo
Es el objeto que contiene la información del socket.
-
Muestra
-
Promise<SocketInfo>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
Obtiene las direcciones de grupos de multidifusión a las que está unido el socket actualmente.
Parámetros
-
socketId
número
Es el ID del socket.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(groups: string[]) => void
-
grupos
string[]
Es un array de grupos a los que se unió el socket.
-
Muestra
-
Promise<string[]>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Recupera la lista de sockets abiertos actualmente que pertenecen a la aplicación.
Parámetros
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(socketInfos: SocketInfo[]) => void
-
socketInfos
Es un array de objetos que contiene información del socket.
-
Muestra
-
Promise<SocketInfo[]>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
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
Es el ID del socket.
-
dirección
string
Es la dirección del grupo al que se unirá el usuario. No se admiten nombres de dominios.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de la llamada de red subyacente. Un valor negativo indica un error.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Abandona el grupo de multidifusión al que se unió anteriormente con joinGroup. Solo es necesario llamarlo si planeas seguir usando el socket después, ya que el SO lo hará automáticamente cuando se cierre el socket.
Si se abandona el grupo, se evitará que el router envíe datagramas de multidifusión al host local, suponiendo que ningún otro proceso del 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
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de 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,
): void
Envía datos en el 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
Es el ID del socket.
-
datos
ArrayBuffer
Son los datos que se enviarán.
-
dirección
string
Es la dirección de la máquina remota.
-
puerto
número
Es el puerto de la máquina remota.
-
dnsQueryType
DnsQueryType opcional
Chrome 103 y versiones posterioresEs la preferencia de resolución de direcciones.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(sendInfo: SendInfo) => void
-
sendInfo
Es el resultado del método
send.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
Habilita o inhabilita los paquetes de transmisión en este socket.
Parámetros
-
socketId
número
Es el ID del socket.
-
habilitado
booleano
truepara habilitar los paquetes de transmisión yfalsepara inhabilitarlos. -
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de la llamada de red subyacente.
-
setMulticastLoopbackMode()
chrome.sockets.udp.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 un poco diferente entre Windows y los sistemas similares a Unix. La incoherencia solo se produce cuando hay más de una aplicación en el mismo host unida al mismo grupo de multicast, pero con diferentes parámetros de configuración en el modo de bucle invertido de multicast. En Windows, las aplicaciones con el bucle de retorno desactivado no RECIBIRÁN los paquetes de bucle de retorno, mientras que, en los sistemas similares a Unix, las aplicaciones con el bucle de retorno desactivado no ENVIARÁN los paquetes de bucle de retorno a otras aplicaciones en el mismo host. Consulta MSDN: https://learn.microsoft.com/es-es/windows/win32/winsock/ip-multicast-2
La llamada 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
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de la llamada de red subyacente. Un valor negativo indica un error.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Establece el tiempo de actividad de los paquetes de multicast enviados al grupo de multicast.
La llamada 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 del tiempo de actividad.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devuelve de la llamada de red subyacente. Un valor negativo indica un error.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Detiene o reanuda un socket. Un socket pausado no puede activar eventos onReceive.
Parámetros
-
socketId
número
Es el ID del socket.
-
detenido
booleano
Es una marca que indica si se debe pausar o reactivar.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Actualiza las propiedades del socket.
Parámetros
-
socketId
número
Es el ID del socket.
-
propiedades
Son las propiedades que se actualizarán.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
Eventos
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Evento que se genera cuando se recibe un paquete UDP para el socket determinado.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(info: ReceiveInfo) => void
-
información
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Es el evento que se genera cuando se produce un error de red mientras el entorno de ejecución espera datos en la dirección y el puerto del socket. Una vez que se genera este evento, el socket se pausa y no se generarán más eventos onReceive para este socket hasta que se reanude.
Parámetros
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-