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

    number

  • socketId

    numéro facultatif

    Identifiant du socket accepté.

CreateInfo

Propriétés

  • socketId

    number

    Identifiant du socket nouvellement créé.

CreateOptions

NetworkInterface

Propriétés

  • adresse

    chaîne

    Adresse IPv4/6 disponible.

  • name

    chaîne

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

  • prefixLength

    number

    La longueur du préfixe

ReadInfo

Propriétés

  • data

    ArrayBuffer

  • resultCode

    number

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

RecvFromInfo

Propriétés

  • adresse

    chaîne

    Adresse de la machine distante.

  • data

    ArrayBuffer

  • port

    number

  • resultCode

    number

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

SecureOptions

Propriétés

SocketInfo

Propriétés

  • connecté

    boolean

    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 est déconnecté. La lecture ou l'écriture sur 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

    string 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

    string 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é, il contient le port du pair connecté.

  • socketType

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

SocketType

Enum

"tcp"
.

"udp"

TLSVersionConstraints

Propriétés

  • max

    string facultatif

  • min

    string facultatif

    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

    number

    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 du serveur d'écoute. La fonction Listen doit d'abord être appelée. 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

    number

    socketId.

  • rappel

    function

    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 pour le socket. Actuellement, il n'est pas compatible avec le socket TCP.

Paramètres

  • socketId

    number

    socketId.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    number

    Port de la machine locale.

  • rappel

    function

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

    (result: number)=>void

    • résultat

      number

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, cela définit l'adresse par défaut vers laquelle les paquets sont envoyés et lus pour les appels read() et write().

Paramètres

  • socketId

    number

    socketId.

  • nom d'hôte

    chaîne

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

  • port

    number

    Port de la machine distante.

  • rappel

    function

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

    (result: number)=>void

    • résultat

      number

create()

Promesse
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

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. Doit être tcp ou udp.

  • options

    CreateOptions facultatif

    Options de socket.

  • rappel

    fonction facultative

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

    number

    socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

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

Paramètres

  • socketId

    number

    socketId.

getInfo()

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

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

Paramètres

  • socketId

    number

    socketId.

  • rappel

    fonction facultative

    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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getJoinedGroups()

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

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

Paramètres

  • socketId

    number

    socketId.

  • rappel

    function

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

    (groups: string[])=>void

    • groupes

      chaîne[]

getNetworkList()

Promesse
chrome.socket.getNetworkList(
  callback?: function,
)

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 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 doit être lié à un port local avant d'appeler cette méthode.

Paramètres

  • socketId

    number

    socketId.

  • 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

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 le 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 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

    socketId.

  • 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

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. Il s'agit donc d'un socket serveur et les fonctions de socket client (connexion, lecture, écriture) ne peuvent plus être utilisées sur ce socket.

Paramètres

  • socketId

    number

    socketId.

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    number

    Port de la machine locale.

  • en attente

    numéro facultatif

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

  • rappel

    function

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

    (result: number)=>void

    • résultat

      number

read()

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

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

Paramètres

  • socketId

    number

    socketId.

  • bufferSize

    numéro facultatif

    Taille de la mémoire tampon de lecture

  • rappel

    function

    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

    number

    socketId.

  • bufferSize

    numéro facultatif

    Taille du tampon de réception.

  • rappel

    function

    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

    number

    Prise connectée à utiliser.

  • options

    SecureOptions facultatif

    Contraintes et paramètres de la connexion TLS.

  • rappel

    function

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

    (result: number)=>void

    • résultat

      number

sendTo()

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

Envoie les données d'un socket UDP donné à l'adresse et au port donnés.

Paramètres

  • socketId

    number

    socketId.

  • data

    ArrayBuffer

    Données à écrire.

  • adresse

    chaîne

    Adresse de la machine distante.

  • port

    number

    Port de la machine distante.

  • rappel

    function

    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

    number

    socketId.

  • enable

    boolean

    Si la valeur est "true", activez la fonctionnalité de message 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 keepalive. La valeur par défaut est 0.

  • rappel

    function

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

    (result: boolean)=>void

    • résultat

      boolean

setMulticastLoopbackMode()

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

Déterminez si les paquets de multidiffusion envoyés de l'hôte au groupe de multidiffusion seront retransmis en boucle sur 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

    socketId.

  • 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

setMulticastTimeToLive()

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

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

    socketId.

  • ttl

    number

    Valeur TTL.

  • rappel

    function

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

    (result: number)=>void

    • résultat

      number

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

    number

    socketId.

  • noDelay

    boolean

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

  • rappel

    function

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

    (result: boolean)=>void

    • résultat

      boolean

write()

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

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

Paramètres

  • socketId

    number

    socketId.

  • data

    ArrayBuffer

    Données à écrire.

  • rappel

    function

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

    (writeInfo: WriteInfo)=>void