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 abandonnée au profit des API sockets.udp, sockets.tcp et sockets.tcpServer.

Autorisations

socket

Types

AcceptInfo

Propriétés

  • resultCode

    Nombre

  • socketId

    number facultatif

    ID du socket accepté.

CreateInfo

Propriétés

  • socketId

    Nombre

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

  • prefixLength

    Nombre

    Longueur du préfixe

ReadInfo

Propriétés

  • données

    ArrayBuffer

  • resultCode

    Nombre

    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

    Nombre

  • resultCode

    Nombre

    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é ou non.

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

    Pour les sockets udp, il 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 facultatif

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

  • localPort

    number 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 de l'homologue.

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

  • min

    chaîne facultatif

    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 silencieusement limité à tls1.2. Si max est défini sur l'une de ces valeurs ou sur une autre valeur non reconnue, il sera ignoré en silence.

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. Listen doit être appelé en premier. Si un rappel d'acceptation est déjà actif, il est appelé immédiatement avec une erreur comme code de résultat.

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

Associe l'adresse locale au socket. Actuellement, il n'est pas compatible avec le socket 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, cette valeur 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

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

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

    Les options de socket.

  • rappel

    fonction facultatif

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

    (createInfo: CreateInfo) => void

Renvoie

  • Promise<CreateInfo>

    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éconnecte la prise. Pour les sockets UDP, disconnect est une non-opération, mais peut être appelé sans risque.

Paramètres

  • socketId

    Nombre

    socketId

getInfo()

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

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

Paramètres

  • socketId

    Nombre

    socketId

  • rappel

    fonction facultatif

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

    (result: SocketInfo) => void

Renvoie

  • Promise<SocketInfo>

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

Récupérez les adresses de groupe multicast auxquelles le socket est actuellement associé.

Paramètres

  • socketId

    Nombre

    socketId

  • rappel

    fonction

    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 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 multicast et commencez à recevoir des paquets de ce groupe. Le socket doit être de type UDP et doit être associé à 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 multicast auquel vous avez précédemment adhéré à l'aide de joinGroup. Il n'est pas nécessaire de quitter le groupe multicast avant de détruire le socket ou de quitter le programme. Cette méthode est appelée automatiquement par l'OS.

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

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

    Nombre

    socketId

  • adresse

    chaîne

    Adresse de la machine locale.

  • port

    Nombre

    Port de la machine locale.

  • backlog

    number 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 du socket connecté donné.

Paramètres

  • socketId

    Nombre

    socketId

  • bufferSize

    number facultatif

    Taille de la mémoire 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,
)

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

Paramètres

  • socketId

    Nombre

    socketId

  • bufferSize

    number 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

    Socket connecté à 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

    Les 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é de suivi pour une connexion TCP.

Paramètres

  • socketId

    Nombre

    socketId

  • activer

    booléen

    Si défini sur "true", active la fonctionnalité de maintien de la connexion.

  • delay

    number facultatif

    Définissez le délai (en secondes) entre le dernier paquet de données reçu et la première vérification de 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,
)

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

    Nombre

    socketId

  • 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

      Nombre

setMulticastTimeToLive()

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

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

    Nombre

    socketId

  • ttl

    Nombre

    Valeur de durée de vie.

  • 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 est désactivé lorsque TCP_NODELAY est 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

    Les données à écrire.

  • rappel

    fonction

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

    (writeInfo: WriteInfo) => void