chrome.socket

Description

Utilisez l'API chrome.socket pour envoyer et recevoir des données sur le réseau à l'aide de connexions TCP et UDP. Remarque : À partir de Chrome 33, cette API est obsolète et remplacée par les API sockets.udp, sockets.tcp et sockets.tcpServer.

Autorisations

socket

Types

AcceptInfo

Propriétés

  • resultCode

    Total

  • socketId

    number facultatif

    ID du socket accepté.

CreateInfo

Propriétés

  • socketId

    Total

    ID du socket nouvellement créé.

CreateOptions

NetworkInterface

Propriétés

  • adresse

    chaîne

    Adresse IPv4/6 disponible.

  • nom

    chaîne

    Nom sous-jacent de l'adaptateur. Sur *nix, il s'agit généralement de "eth0", "lo", etc.

  • prefixLength

    Total

    Longueur du préfixe

ReadInfo

Propriétés

  • données

    ArrayBuffer

  • resultCode

    Total

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

RecvFromInfo

Propriétés

  • adresse

    chaîne

    Adresse de la machine distante.

  • données

    ArrayBuffer

  • port

    Total

  • resultCode

    Total

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

SecureOptions

Propriétés

SocketInfo

Propriétés

  • connecté

    booléen

    Indique si le socket sous-jacent est connecté.

    Pour les sockets tcp, cela reste vrai même si le pair distant s'est déconnecté. La lecture ou l'écriture sur le socket peut alors entraîner une erreur, indiquant que ce socket doit être déconnecté via disconnect().

    Pour les sockets udp, cela indique simplement si une adresse distante par défaut a été spécifiée pour la lecture et l'écriture de paquets.

  • localAddress

    chaîne facultative

    Si le socket sous-jacent est lié ou connecté, il contient son adresse IPv4/6 locale.

  • localPort

    number facultatif

    Contient le port local du socket sous-jacent s'il est lié ou connecté.

  • peerAddress

    chaîne facultative

    Si le socket sous-jacent est connecté, il contient l'adresse IPv4/6 du pair.

  • peerPort

    number facultatif

    Si le socket sous-jacent est connecté, contient le port du pair connecté.

  • socketType

    Type du socket transmis. Il s'agit de tcp ou de udp.

SocketType

Énumération

"tcp"

"udp"

TLSVersionConstraints

Propriétés

  • max

    chaîne facultative

  • min

    chaîne facultative

    Versions TLS minimale et maximale acceptables. Les valeurs acceptées sont tls1.2 et tls1.3.

    Les valeurs tls1 et tls1.1 ne sont plus acceptées. Si min est défini sur l'une de ces valeurs, il sera automatiquement limité à tls1.2. Si max est défini sur l'une de ces valeurs ou sur toute autre valeur non reconnue, il sera ignoré sans avertissement.

WriteInfo

Propriétés

  • bytesWritten

    Total

    Nombre d'octets envoyés ou code d'erreur négatif.

Méthodes

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Cette méthode ne s'applique qu'aux sockets TCP. Enregistre une fonction de rappel à appeler lorsqu'une connexion est acceptée sur ce socket de serveur d'écoute. La méthode "listen" doit être appelée en premier. S'il existe déjà un rappel d'acceptation actif, ce rappel sera invoqué immédiatement avec une erreur comme resultCode.

Paramètres

  • socketId

    Total

    ID du socket.

  • callback

    fonction

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

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Associe l'adresse locale au socket. Actuellement, il n'est pas compatible avec les sockets TCP.

Paramètres

  • socketId

    Total

    ID du socket.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    Total

    Port de la machine locale.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Connecte le socket à la machine distante (pour un socket tcp). Pour un socket udp, cela définit l'adresse par défaut à laquelle les paquets sont envoyés et à partir de laquelle ils sont lus pour les appels read() et write().

Paramètres

  • socketId

    Total

    ID du socket.

  • nom d'hôte

    chaîne

    Nom d'hôte ou adresse IP de la machine distante.

  • port

    Total

    Port de la machine distante.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

create()

Promise
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Crée un socket du type spécifié qui se connectera à la machine distante spécifiée.

Paramètres

  • type

    Type de socket à créer. La valeur doit être tcp ou udp.

  • options

    CreateOptions facultatif

    Options du socket.

  • callback

    function facultatif

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

    (createInfo: CreateInfo) => void

Renvoie

  • Promise<CreateInfo>

    Chrome 121 et versions ultérieures

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

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Détruit le socket. Chaque socket créé doit être détruit après utilisation.

Paramètres

  • socketId

    Total

    ID du socket.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Déconnecte le socket. Pour les sockets UDP, disconnect est une non-opération, mais peut être appelée sans risque.

Paramètres

  • socketId

    Total

    ID du socket.

getInfo()

Promise
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Récupère l'état du socket donné.

Paramètres

  • socketId

    Total

    ID du socket.

  • callback

    function facultatif

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

    (result: SocketInfo) => void

Renvoie

  • Promise<SocketInfo>

    Chrome 121 et versions ultérieures

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

Obtenez les adresses de groupe multicast auxquelles le socket est actuellement associé.

Paramètres

  • socketId

    Total

    ID du socket.

  • callback

    fonction

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

    (groups: string[]) => void

    • groupes

      chaîne[]

getNetworkList()

Promise
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Récupère des informations sur les adaptateurs locaux de ce système.

Paramètres

Renvoie

  • Promise<NetworkInterface[]>

    Chrome 121 et versions ultérieures

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Rejoignez le groupe multicast et commencez à recevoir des paquets de ce groupe. Le socket doit être de type UDP et doit être lié à un port local avant d'appeler cette méthode.

Paramètres

  • socketId

    Total

    ID du socket.

  • adresse

    chaîne

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

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Quittez le groupe multicast précédemment rejoint à l'aide de joinGroup. Il n'est pas nécessaire de quitter le groupe multicast avant de détruire le socket ou de quitter. Elle est appelée automatiquement par l'OS.

Si vous quittez le groupe, le routeur ne pourra plus envoyer de datagrammes multicast à l'hôte local, à condition qu'aucun autre processus sur l'hôte ne soit encore associé au groupe.

Paramètres

  • socketId

    Total

    ID du socket.

  • adresse

    chaîne

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

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

listen()

chrome.socket.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Cette méthode ne s'applique qu'aux sockets TCP. Écoute les connexions sur le port et l'adresse spécifiés. Il s'agit donc d'un socket serveur, et les fonctions de socket client (connect, read, write) ne peuvent plus être utilisées sur ce socket.

Paramètres

  • socketId

    Total

    ID du socket.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    Total

    Port de la machine locale.

  • backlog

    number facultatif

    Longueur de la file d'attente d'écoute du socket.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Lit les données du socket connecté donné.

Paramètres

  • socketId

    Total

    ID du socket.

  • bufferSize

    number facultatif

    Taille de la mémoire tampon de lecture.

  • callback

    fonction

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

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Reçoit les données du socket UDP donné.

Paramètres

  • socketId

    Total

    ID du socket.

  • bufferSize

    number facultatif

    Taille de la mémoire tampon de réception.

  • callback

    fonction

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

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

Démarrez une connexion client TLS sur un socket client TCP connecté.

Paramètres

  • socketId

    Total

    Socket connecté à utiliser.

  • options

    SecureOptions facultatif

    Contraintes et paramètres de la connexion TLS.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Envoie des données sur le socket UDP spécifié à l'adresse et au port indiqués.

Paramètres

  • socketId

    Total

    ID du socket.

  • données

    ArrayBuffer

    Données à écrire.

  • adresse

    chaîne

    Adresse de la machine distante.

  • port

    Total

    Port de la machine distante.

  • callback

    fonction

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

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

Active ou désactive la fonctionnalité keep-alive pour une connexion TCP.

Paramètres

  • socketId

    Total

    ID du socket.

  • activer

    booléen

    Si la valeur est "true", la fonctionnalité Keep-Alive est activée.

  • delay

    number facultatif

    Définissez le délai en secondes entre le dernier paquet de données reçu et la première requête Keep-Alive. La valeur par défaut est "0".

  • callback

    fonction

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

    (result: boolean) => void

    • résultat

      booléen

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Définissez 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 Windows et les systèmes de type Unix. L'incohérence ne se produit que lorsqu'il existe plusieurs applications sur le même hôte, qui sont associées au même groupe multicast, mais qui ont des paramètres différents pour le mode de bouclage multicast. Sur Windows, les applications dont la boucle locale est désactivée ne REÇOIVENT pas les paquets de boucle locale. Sur les systèmes de type Unix, les applications dont la boucle locale est désactivée n'ENVOIENT pas les paquets de boucle locale aux autres applications sur le même hôte. Consultez MSDN : https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

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

Paramètres

  • socketId

    Total

    ID du socket.

  • activé

    booléen

    Indiquez si le mode Bouclage doit être activé.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Définissez le délai de vie des paquets multicast envoyés au groupe multicast.

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

Paramètres

  • socketId

    Total

    ID du socket.

  • ttl

    Total

    Valeur TTL.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

setNoDelay()

chrome.socket.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)
: void

Définit ou efface TCP_NODELAY pour une connexion TCP. L'algorithme de Nagle sera désactivé lorsque TCP_NODELAY sera défini.

Paramètres

  • socketId

    Total

    ID du socket.

  • noDelay

    booléen

    Si la valeur est "true", l'algorithme de Nagle est désactivé.

  • callback

    fonction

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

    (result: boolean) => void

    • résultat

      booléen

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Écrit des données sur le socket connecté donné.

Paramètres

  • socketId

    Total

    ID du socket.

  • données

    ArrayBuffer

    Données à écrire.

  • callback

    fonction

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

    (writeInfo: WriteInfo) => void