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 l'API "socket".
Fichier manifeste
Types
CreateInfo
Propriétés
-
socketId
number
ID du socket nouvellement créé. Notez que les ID de socket créés à partir de cette API ne sont pas compatibles avec les ID de socket 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 actuelle de l'OS, qui peut renvoyer IPv4 ou IPv6. ipv4
force l'IPv4 et ipv6
force l'IPv6.
Énumération
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Propriétés
-
resultCode
number
Code de résultat renvoyé par l'appel recvfrom() sous-jacent.
-
socketId
number
ID du socket.
ReceiveInfo
Propriétés
-
données
ArrayBuffer
Contenu du paquet UDP (tronqué à la taille de tampon actuelle).
-
remoteAddress
chaîne
Adresse de l'hôte à partir duquel le paquet provient.
-
remotePort
number
Port de l'hôte à partir duquel le paquet provient.
-
socketId
number
ID du socket.
SendInfo
Propriétés
-
bytesSent
number facultatif
Nombre d'octets envoyés (si le résultat est égal à 0)
-
resultCode
number
Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.
SocketInfo
Propriétés
-
bufferSize
number facultatif
Taille de la mémoire tampon utilisée pour recevoir des données. Si aucune taille de 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
number 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
Indicateur indiquant si le socket est bloqué pour le déclenchement d'événements onReceive.
-
SSD
booléen
Indicateur indiquant si le socket reste ouvert lorsque l'application est suspendue (voir
SocketProperties.persistent
). -
socketId
number
Identifiant du socket.
SocketProperties
Propriétés
-
bufferSize
number facultatif
Taille de la mémoire tampon utilisée 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 4 096.
-
nom
chaîne facultatif
Chaîne définie par l'application associée au socket.
-
SSD
booléen facultatif
Indicateur indiquant si le socket est laissé ouvert lorsque la page d'événement de l'application est désinstallé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 "persistent=true" peuvent être récupérés avec
getSockets
.
Méthodes
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Associe l'adresse et le port locaux au socket. Pour un socket client, nous vous recommandons d'utiliser le port 0 afin de laisser la plate-forme choisir un port libre.
Une fois l'opération bind
terminée, des événements onReceive
sont générés lorsque des paquets UDP arrivent sur l'adresse/le port spécifiés, sauf si le socket est mis en pause.
Paramètres
-
socketId
number
ID du socket.
-
adresse
chaîne
Adresse de la machine locale. Les formats de nom DNS, IPv4 et IPv6 sont acceptés. Utilisez "0.0.0.0" pour accepter les paquets de toutes les interfaces réseau locales disponibles.
-
port
number
Port de la machine locale. Utilisez "0" pour associer à un port libre.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
number
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 associé. Chaque socket créé doit être fermé après utilisation. L'ID de socket n'est plus valide dès l'appel de la fonction. Toutefois, le socket n'est fermé que lorsque le rappel est appelé.
Paramètres
-
socketId
number
ID du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<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
fonction 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
number
ID du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :(socketInfo: SocketInfo) => void
-
socketInfo
Objet contenant les informations sur le 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 de groupe multicast auxquelles le socket est actuellement associé.
Paramètres
-
socketId
number
ID du socket.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :(groups: string[]) => void
-
groupes
chaîne[]
Tableau des groupes auxquels le socket a adhéré.
-
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
fonction facultatif
Le paramètre
callback
se présente comme suit :(socketInfos: SocketInfo[]) => void
-
socketInfos
Tableau d'objets contenant des informations sur les sockets.
-
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,
)
Il rejoint le groupe multicast et commence à recevoir des paquets de ce groupe. Le socket doit être associé à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
number
ID du 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
number
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 multicast auquel vous avez précédemment adhéré à l'aide de joinGroup
. Cette méthode n'est nécessaire que si vous prévoyez de continuer à utiliser le socket par la suite, car elle sera effectuée automatiquement par l'OS lorsque le socket sera fermé.
Quitter le groupe empêche le routeur d'envoyer des datagrammes multicast à l'hôte local, en supposant qu'aucun autre processus de l'hôte n'est toujours associé au groupe.
Paramètres
-
socketId
number
ID du 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
number
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 associé à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
number
ID de la prise.
-
données
ArrayBuffer
Données à envoyer.
-
adresse
chaîne
Adresse de la machine distante.
-
port
number
Port de la machine distante.
-
dnsQueryType
DnsQueryType facultatif
Chrome 103 ou version ultérieurePréférence de résolution d'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
number
ID du 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
number
Code de résultat renvoyé par l'appel réseau sous-jacent.
-
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Indique si les paquets multicast envoyés de l'hôte au groupe multicast seront renvoyés à l'hôte.
Remarque: Le comportement de setMulticastLoopbackMode
est légèrement différent entre les systèmes Windows et Unix. L'incohérence ne se produit que lorsqu'il existe plusieurs applications sur le même hôte jointes au même groupe multicast, mais avec des paramètres différents pour le mode loopback multicast. Sous Windows, les applications avec le loopback désactivé ne RECEVRONT pas les paquets loopback. Sur les systèmes Unix, les applications avec le loopback désactivé n'ENVOIENT pas les paquets loopback à d'autres applications sur le même hôte. Consultez MSDN: http://goo.gl/6vqbj.
L'appel de cette méthode ne nécessite pas d'autorisations multicast.
Paramètres
-
socketId
number
ID du socket.
-
activé
booléen
Indique si le mode bouclage doit être activé.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
number
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 durée de vie des paquets multicast envoyés au groupe multicast.
L'appel de cette méthode ne nécessite pas d'autorisations multicast.
Paramètres
-
socketId
number
ID du socket.
-
ttl
number
Valeur TTL.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
number
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 mis en pause est bloqué pour le déclenchement d'événements onReceive
.
Paramètres
-
socketId
number
-
mis en veille
booléen
Indicateur indiquant si la lecture doit être mise en pause ou non.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<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
number
ID du socket.
-
du bucket
Propriétés à mettre à jour.
-
rappel
fonction facultatif
Le paramètre
callback
se présente comme suit :() => void
Renvoie
-
Promise<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 généré 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 généré 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 du socket. Une fois cet événement généré, le socket est mis en pause et aucun autre événement onReceive
n'est généré pour ce socket tant qu'il n'est pas réactivé.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(info: ReceiveErrorInfo) => void
-
infos
-