chrome.sockets.udp

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

Manifest

Les clés suivantes doivent être déclarées dans le fichier manifeste pour utiliser cette API.

"sockets"

Types

CreateInfo

Propriétés

  • socketId

    number

    Identifiant 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, comme l'API [socket](../socket/) obsolète.

DnsQueryType

Chrome 103 et versions ultérieures

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 une adresse IPv4 ou IPv6. ipv4 force IPv4, et ipv6 force IPv6.

Enum

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriétés

  • resultCode

    number

    Code de résultat renvoyé par l'appel recvfrom() sous-jacent.

  • socketId

    number

    ID de socket.

ReceiveInfo

Propriétés

  • data

    ArrayBuffer

    Contenu du paquet UDP (tronqué à la taille actuelle de la mémoire tampon)

  • remoteAddress

    chaîne

    Adresse de l’hôte dont provient le paquet.

  • remotePort

    number

    Port de l’hôte dont provient le paquet.

  • socketId

    number

    ID de socket.

SendInfo

Propriétés

  • bytesSent

    numéro 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

    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

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

  • name

    string facultatif

    Chaîne définie par l'application associée au socket.

  • mis en veille

    boolean

    Indique si le déclenchement d'événements onReceive par le socket est bloqué.

  • SSD

    boolean

    Indique si le socket est laissé ouvert lorsque l'application est suspendue (voir SocketProperties.persistent).

  • socketId

    number

    Identifiant de socket.

SocketProperties

Propriétés

  • bufferSize

    numéro facultatif

    Taille du tampon utilisé pour recevoir des données. Si le tampon est trop petit pour recevoir le paquet UDP, les données sont perdues. La valeur par défaut est 4096.

  • name

    string facultatif

    Chaîne définie par l'application et 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 d'une application). La valeur par défaut est "false". Une fois l'application 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,
)

Lie l'adresse locale et le port du socket. Dans le cas d'un socket client, il est recommandé 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 déclenchés lorsque des paquets UDP arrivent sur l'adresse ou le port spécifié, sauf si le socket est suspendu.

Paramètres

  • socketId

    number

    ID de socket.

  • adresse

    chaîne

    Adresse de la machine locale. Les formats de nom DNS ainsi que les formats IPv4 et IPv6 sont acceptés. Utilisez "0.0.0.0" pour accepter les paquets provenant de toutes les interfaces réseau disponibles locales.

  • port

    number

    Port de la machine locale. Utilisez "0" pour établir la liaison avec un port libre.

  • rappel

    function

    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()

Promesse
chrome.sockets.udp.close(
  socketId: number,
  callback?: function,
)

Ferme le socket et libère l'adresse ou le port auquel le socket est lié. Chaque socket créé doit être fermé après utilisation. L'identifiant de socket n'est plus valide au moment où la fonction est appelée. Toutefois, la fermeture du socket est garantie uniquement lorsque le rappel est invoqué.

Paramètres

  • socketId

    number

    ID de socket.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 121 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

create()

Promesse
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 facultative

    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 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getInfo()

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

Récupère l'état d'un socket donné.

Paramètres

  • socketId

    number

    ID de socket.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (socketInfo: SocketInfo)=>void

    • socketInfo

      Objet contenant les informations de socket.

Renvoie

  • Promise<SocketInfo>

    Chrome 121 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getJoinedGroups()

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

Récupère les adresses de groupe de multidiffusion auxquelles le socket est actuellement joint.

Paramètres

  • socketId

    number

    ID de socket.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    (groups: string[])=>void

    • groupes

      chaîne[]

      Tableau des groupes joints par le socket.

Renvoie

  • Promesse<string[]>

    Chrome 121 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getSockets()

Promesse
chrome.sockets.udp.getSockets(
  callback?: function,
)

Récupère la liste des sockets actuellement ouverts appartenant à l'application.

Paramètres

  • rappel

    fonction facultative

    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 et versions ultérieures

    Les 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,
)

Rejoint 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

    number

    ID de socket.

  • adresse

    chaîne

    Adresse du groupe à rejoindre. Les noms de domaine ne sont pas acceptés.

  • rappel

    function

    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 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 il sera effectué automatiquement par le système d'exploitation lors de la fermeture du socket.

Le fait de quitter le groupe empêchera le routeur d'envoyer des datagrammes de multidiffusion à l'hôte local, en supposant qu'aucun autre processus de l'hôte ne soit encore joint au groupe.

Paramètres

  • socketId

    number

    ID de socket.

  • adresse

    chaîne

    Adresse du groupe à quitter. Les noms de domaine ne sont pas acceptés.

  • rappel

    function

    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 les données d'un 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

    number

    ID de socket.

  • data

    ArrayBuffer

    Données à envoyer.

  • adresse

    chaîne

    Adresse de la machine distante.

  • port

    number

    Port de la machine distante.

  • dnsQueryType

    DnsQueryType facultatif

    Chrome 103 et versions ultérieures

    La préférence de résolution des adresses.

  • rappel

    function

    Le paramètre callback se présente comme suit :

    (sendInfo: SendInfo)=>void

    • sendInfo

      Résultat de la méthode send.

setBroadcast()

Chrome 44 ou version ultérieure
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 de socket.

  • activé

    boolean

    true pour activer les paquets de diffusion, false pour les désactiver.

  • rappel

    function

    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,
)

Détermine si les paquets de multidiffusion envoyés depuis l'hôte vers le groupe de multidiffusion sont renvoyés en arrière-plan vers l'hôte.

Remarque: Le comportement de setMulticastLoopbackMode est légèrement différent entre les systèmes Windows et de type Unix. Cette incohérence ne se produit que lorsque plusieurs applications d'un même hôte sont jointes au même groupe de multidiffusion alors que des paramètres différents sont définis sur le mode de bouclage de multidiffusion. Sous Windows, les applications avec bouclage désactivé ne recevront pas les paquets de bouclage. Sur les systèmes de type Unix, les applications avec bouclage désactivé n'enverront pas les paquets de bouclage à d'autres applications sur le même hôte. Voir MSDN: http://goo.gl/6vqbj

L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.

Paramètres

  • socketId

    number

    ID de socket.

  • activé

    boolean

    Indiquez si vous souhaitez activer le mode bouclage.

  • rappel

    function

    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 valeur TTL 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

    number

    ID de socket.

  • ttl

    number

    Valeur TTL.

  • rappel

    function

    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()

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

Met en pause ou réactive une prise. Un socket mis en pause ne peut pas déclencher d'événements onReceive.

Paramètres

  • socketId

    number

  • mis en veille

    boolean

    Indicateur permettant d'indiquer si l'élément doit être mis en veille ou réactivé.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 121 et versions ultérieures

    Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

update()

Promesse
chrome.sockets.udp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Met à jour les propriétés du socket.

Paramètres

  • socketId

    number

    ID de socket.

  • du bucket

    Propriétés à mettre à jour.

  • rappel

    fonction facultative

    Le paramètre callback se présente comme suit :

    ()=>void

Renvoie

  • Promise<void>

    Chrome 121 et versions ultérieures

    Les 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

    function

    Le paramètre callback se présente comme suit :

    (info: ReceiveInfo)=>void

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 du socket. Une fois cet événement déclenché, le socket est mis en pause et plus aucun événement onReceive n'est déclenché pour ce socket tant que celui-ci n'est pas réactivé.

Paramètres