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 a été remplacée par les API sockets.udp, sockets.tcp et sockets.tcpServer.

Autorisations

socket

Types

AcceptInfo

Propriétés

  • resultCode

    Nombre

  • socketId

    numéro facultatif

    Identifiant de l'interface de connexion acceptée.

CreateInfo

Propriétés

  • socketId

    Nombre

    Identifiant 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. Pour *nix, il s'agit généralement de "eth0", "lo", etc.

  • prefixLength

    Nombre

    La longueur du préfixe

ReadInfo

Propriétés

  • données

    ArrayBuffer

  • resultCode

    Nombre

    Le paramètre "resultCode" renvoyé par l'appel read() sous-jacent.

RecvFromInfo

Propriétés

  • adresse

    chaîne

    Adresse de la machine distante.

  • données

    ArrayBuffer

  • port

    Nombre

  • resultCode

    Nombre

    Le paramètre "resultCode" 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é ou non.

    Pour les sockets tcp, ce paramètre reste vrai même si le pair distant s'est déconnecté. La lecture ou l'écriture dans le socket peut ensuite 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 des paquets.

  • localAddress

    chaîne facultatif

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

  • localPort

    numéro facultatif

    Si le socket sous-jacent est lié ou connecté, contient son port local.

  • peerAddress

    chaîne facultatif

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

  • peerPort

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

SocketType

Énumération

"tcp"

"udp"

TLSVersionConstraints

Propriétés

  • max

    chaîne facultatif

  • min

    chaîne facultatif

    Les versions minimale et maximale acceptables de TLS. 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, elle est ignorée sans notification.

WriteInfo

Propriétés

  • bytesWritten

    Nombre

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

Méthodes

accept()

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

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 fonction 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 en tant que resultCode.

Paramètres

  • socketId

    Nombre

    socketId.

  • rappel

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    Nombre

    Port de la machine locale.

  • rappel

    fonction

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

    (result: number) => void

    • résultat

      Nombre

connect()

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • nom d'hôte

    chaîne

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

  • port

    Nombre

    Port de la machine distante.

  • rappel

    fonction

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

    (result: number) => void

    • résultat

      Nombre

create()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

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

Paramètres

  • type

    Type de socket à créer. Doit être tcp ou udp.

  • options

    CreateOptions facultatif

    Options de socket.

  • rappel

    function facultatif

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

    (createInfo: CreateInfo) => void

Renvoie

  • Promise&lt;CreateInfo&gt;

    Chrome 121 ou version ultérieure

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

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

Paramètres

  • socketId

    Nombre

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Débranche le support. Pour les sockets UDP, disconnect n'est pas une opération, mais peut être appelé en toute sécurité.

Paramètres

  • socketId

    Nombre

    socketId.

getInfo()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

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

Paramètres

  • socketId

    Nombre

    socketId.

  • rappel

    function facultatif

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

    (result: SocketInfo) => void

Renvoie

  • Promise&lt;SocketInfo&gt;

    Chrome 121 ou version ultérieure

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

getJoinedGroups()

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

Obtenez les adresses du groupe de multidiffusion auxquelles le socket est actuellement joint.

Paramètres

  • socketId

    Nombre

    socketId.

  • rappel

    fonction

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

    (groups: string[]) => void

    • groupes

      chaîne[]

getNetworkList()

<ph type="x-smartling-placeholder"></ph> Promesse
chrome.socket.getNetworkList(
  callback?: function,
)

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

Paramètres

Renvoie

  • Promise&lt;NetworkInterface[]&gt;

    Chrome 121 ou version ultérieure

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

joinGroup()

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • 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

leaveGroup()

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

Quittez le groupe de multidiffusion précédemment joint à l'aide de joinGroup. Il n'est pas nécessaire de quitter le groupe de multidiffusion avant de détruire le socket ou de quitter. Elle est appelée automatiquement par le système d'exploitation.

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

    socketId.

  • 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

listen()

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

Cette méthode ne s'applique qu'aux sockets TCP. Écoute les connexions sur le port et l'adresse spécifiés. Cela en fait donc un socket de serveur et les fonctions du socket client (connexion, lecture, écriture) ne peuvent plus être utilisées sur ce socket.

Paramètres

  • socketId

    Nombre

    socketId.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    Nombre

    Port de la machine locale.

  • en attente

    numéro facultatif

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

  • rappel

    fonction

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

    (result: number) => void

    • résultat

      Nombre

read()

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • bufferSize

    numéro facultatif

    Taille du tampon de lecture.

  • rappel

    fonction

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

    (readInfo: ReadInfo) => void

recvFrom()

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • bufferSize

    numéro facultatif

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

  • rappel

    fonction

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

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

Paramètres

  • socketId

    Nombre

    Prise connectée à utiliser.

  • options

    SecureOptions facultatif

    Contraintes et paramètres de la connexion TLS.

  • rappel

    fonction

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

    (result: number) => void

    • résultat

      Nombre

sendTo()

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • données

    ArrayBuffer

    Données à écrire.

  • adresse

    chaîne

    Adresse de la machine distante.

  • port

    Nombre

    Port de la machine distante.

  • rappel

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • activer

    booléen

    Si la valeur est "true", activez la fonctionnalité keep-alive.

  • delay

    numéro facultatif

    Définissez le délai (en secondes) entre le dernier paquet de données reçu et la première vérification du message keepalive. La valeur par défaut est "0".

  • rappel

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

Définissez si les paquets de multidiffusion envoyés depuis l'hôte vers le groupe de multidiffusion seront rebouclés vers 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

    socketId.

  • 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

setMulticastTimeToLive()

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

Définissez 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

    socketId.

  • ttl

    Nombre

    Valeur TTL (Time To Live).

  • rappel

    fonction

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

    (result: number) => void

    • résultat

      Nombre

setNoDelay()

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

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

    Nombre

    socketId.

  • noDelay

    booléen

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

  • rappel

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

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

Paramètres

  • socketId

    Nombre

    socketId.

  • données

    ArrayBuffer

    Données à écrire.

  • rappel

    fonction

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

    (writeInfo: WriteInfo) => void