Description
Utilisez l'API chrome.sockets.udp
pour envoyer et recevoir des données sur le réseau à l'aide de connexions UDP. Cette API remplace la fonctionnalité UDP précédemment disponible dans le "socket" API.
Fichier manifeste
Les clés suivantes doivent être déclarées dans le fichier manifeste pour utiliser cette API.
"sockets"
Types
CreateInfo
Propriétés
-
socketId
Nombre
ID du socket nouvellement créé. Notez que les ID de socket créés à partir de cette API ne sont pas compatibles avec ceux créés à partir d'autres API, telles que l'API
[
socket](../socket/)
obsolète.
DnsQueryType
Préférences de résolution DNS. La valeur par défaut est any
et utilise la configuration du système d'exploitation actuelle, qui peut renvoyer des adresses IPv4 ou IPv6. ipv4
force IPv4, et ipv6
force IPv6.
Énumération
"tous"
"ipv4"
"ipv6"
ReceiveErrorInfo
Propriétés
-
resultCode
Nombre
Code de résultat renvoyé par l'appel recvfrom() sous-jacent.
-
socketId
Nombre
ID de socket.
ReceiveInfo
Propriétés
-
données
ArrayBuffer
Contenu du paquet UDP (tronqué par rapport à la taille de la mémoire tampon actuelle).
-
remoteAddress
chaîne
Adresse de l'hôte d'où provient le paquet.
-
remotePort
Nombre
Port de l’hôte d’où provient le paquet.
-
socketId
Nombre
ID de socket.
SendInfo
Propriétés
-
bytesSent
numéro facultatif
Le nombre d'octets envoyés (si le résultat est égal à 0)
-
resultCode
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
SocketInfo
Propriétés
-
bufferSize
numéro facultatif
Taille du tampon utilisé pour recevoir des données. Si aucune taille de mémoire tampon n'a été spécifiée explicitement, la valeur n'est pas fournie.
-
localAddress
chaîne facultatif
Si le socket sous-jacent est lié, contient son adresse IPv4/6 locale.
-
localPort
numéro facultatif
Si le socket sous-jacent est lié, contient son port local.
-
nom
chaîne facultatif
Chaîne définie par l'application associée au socket.
-
mis en veille
booléen
Indique si le socket est bloqué pour déclencher des événements onReceive.
-
SSD
booléen
Indique si le socket est laissé ouvert lorsque l'application est suspendue (voir
SocketProperties.persistent
). -
socketId
Nombre
Identifiant de socket.
SocketProperties
Propriétés
-
bufferSize
numéro facultatif
Taille du tampon utilisé pour recevoir des données. Si la mémoire tampon est trop petite pour recevoir le paquet UDP, les données sont perdues. La valeur par défaut est 4096.
-
nom
chaîne facultatif
Chaîne définie par l'application associée au socket.
-
SSD
Booléen facultatif
Indique si le socket est laissé ouvert lorsque la page d'événements de l'application est déchargée (voir Gérer le cycle de vie de l'application). La valeur par défaut est "false". Lorsque l'application est chargée, tous les sockets précédemment ouverts avec "persistant=true" peuvent être récupérés avec
getSockets
.
Méthodes
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Lie l'adresse et le port locaux du socket. Dans le cas d'un socket client, il est recommandé d'utiliser le port 0 pour permettre à la plate-forme de choisir un port libre.
Une fois l'opération bind
terminée, les événements onReceive
sont déclenchés lorsque les paquets UDP arrivent sur l'adresse/le port spécifié, sauf si le socket est mis en pause.
Paramètres
-
socketId
Nombre
ID de socket.
-
adresse
chaîne
Adresse de la machine locale. Le nom DNS, et les formats IPv4 et IPv6 sont acceptés. Utilisez "0.0.0.0" pour accepter des paquets en provenance de toutes les interfaces réseau locales disponibles.
-
port
Nombre
Port de la machine locale. Utiliser "0" pour s'associer à un port libre.
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
-
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
)
Ferme le socket et libère l'adresse/le port auquel il est lié. Chaque socket créé doit être fermé après utilisation. L'ID de socket n'est plus valide dès que la fonction est appelée. Toutefois, la fermeture du socket n'est garantie que lorsque le rappel est appelé.
Paramètres
-
socketId
Nombre
ID de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
)
Crée un socket UDP avec les propriétés données.
Paramètres
-
du bucket
SocketProperties facultatif
Propriétés du socket (facultatif).
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(createInfo: CreateInfo) => void
-
createInfo
Résultat de la création du socket.
-
Renvoie
-
Promise<CreateInfo>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
)
Récupère l'état du socket donné.
Paramètres
-
socketId
Nombre
ID de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(socketInfo: SocketInfo) => void
-
socketInfo
Objet contenant les informations de socket
-
Renvoie
-
Promise<SocketInfo>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getJoinedGroups()
chrome.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
)
Récupère les adresses du groupe de multidiffusion auxquelles le socket est actuellement joint.
Paramètres
-
socketId
Nombre
ID de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(groups: string[]) => void
-
groupes
chaîne[]
Tableau des groupes joints par le socket.
-
Renvoie
-
Promise<string[]>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
)
Récupère la liste des sockets actuellement ouverts appartenant à l'application.
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(socketInfos: SocketInfo[]) => void
-
socketInfos
Tableau d'objets contenant des informations de socket.
-
Renvoie
-
Promise<SocketInfo[]>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
)
Join le groupe de multidiffusion et commence à recevoir des paquets de ce groupe. Le socket doit être lié à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
Nombre
ID de socket.
-
adresse
chaîne
Adresse du groupe à rejoindre. Les noms de domaine ne sont pas acceptés.
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
-
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Quitte le groupe de multidiffusion précédemment joint à l'aide de joinGroup
. Cet appel n'est nécessaire que si vous prévoyez de continuer à utiliser le socket par la suite, car l'opération est effectuée automatiquement par le système d'exploitation lorsque le socket est fermé.
Le fait de quitter le groupe empêchera le routeur d’envoyer des datagrammes multicast à l’hôte local, en supposant qu’aucun autre processus sur l’hôte ne soit toujours joint au groupe.
Paramètres
-
socketId
Nombre
ID de socket.
-
adresse
chaîne
Adresse du groupe à quitter. Les noms de domaine ne sont pas acceptés.
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
-
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Envoie des données sur le socket donné à l'adresse et au port donnés. Le socket doit être lié à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
Nombre
ID de socket.
-
données
ArrayBuffer
Données à envoyer.
-
adresse
chaîne
Adresse de la machine distante.
-
port
Nombre
Port de la machine distante.
-
dnsQueryType
DnsQueryType facultatif
Chrome 103 et versions ultérieuresPréférence de résolution de l'adresse.
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(sendInfo: SendInfo) => void
-
sendInfo
Résultat de la méthode
send
.
-
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
)
Active ou désactive les paquets de diffusion sur ce socket.
Paramètres
-
socketId
Nombre
ID de socket.
-
activé
booléen
true
pour activer les paquets de diffusion,false
pour les désactiver. -
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Détermine si les paquets de multidiffusion envoyés depuis l'hôte vers le groupe de multidiffusion seront renvoyés en boucle à l'hôte.
Remarque: Le comportement de setMulticastLoopbackMode
est légèrement différent entre Windows et les systèmes de type Unix. L'incohérence ne se produit que lorsque plusieurs applications sur le même hôte sont jointes au même groupe de multidiffusion, alors que les paramètres du mode de bouclage multicast sont différents. Sous Windows, les applications pour lesquelles le bouclage est désactivé ne RECEVENT pas les paquets de bouclage. En revanche, sur les systèmes de type Unix, les applications pour lesquelles le rebouclage est désactivé n'enverront pas les paquets de rebouclage à d'autres applications du même hôte. Consultez MSDN: http://goo.gl/6vqbj
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
Nombre
ID de socket.
-
activé
booléen
Indiquez si vous souhaitez activer le mode de bouclage.
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
-
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Définit la valeur TTL (Time To Live) des paquets de multidiffusion envoyés au groupe de multidiffusion.
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
Nombre
ID de socket.
-
ttl
Nombre
Valeur TTL (Time To Live).
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(result: number) => void
-
résultat
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
-
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Met en pause ou réactive un socket. Un socket suspendu ne peut pas déclencher d'événements onReceive
.
Paramètres
-
socketId
Nombre
-
mis en veille
booléen
Indicateur pour indiquer si la mise en veille ou la réactivation doit être effectuée.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Met à jour les propriétés du socket.
Paramètres
-
socketId
Nombre
ID de socket.
-
du bucket
Propriétés à mettre à jour.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Événement déclenché lorsqu'un paquet UDP a été reçu pour le socket donné.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveInfo) => void
-
infos
-
onReceiveError
chrome.sockets.udp.onReceiveError.addListener(
callback: function,
)
Événement déclenché lorsqu'une erreur réseau s'est produite alors que l'environnement d'exécution attendait des données sur l'adresse et le port de socket. Une fois cet événement déclenché, le socket est suspendu, et aucun autre événement onReceive
ne sera déclenché pour ce socket tant qu'il n'aura pas été réactivé.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveErrorInfo) => void
-
infos
-