chrome.sockets.tcp

Description

Utilisez l'API chrome.sockets.tcp pour envoyer et recevoir des données sur le réseau à l'aide de connexions TCP. Cette API remplace la fonctionnalité TCP précédemment disponible dans l'API chrome.socket.

Fichier manifeste

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

"sockets"

Types

CreateInfo

Propriétés

  • socketId

    nombre

    ID du socket nouvellement créé. Notez que les ID de socket créés à partir de cette API ne sont pas compatibles avec les ID de socket créés à partir d'autres API, telles que l'API [socket](../socket/) obsolète.

DnsQueryType

Chrome 103 ou version ultérieure

Préférences de résolution DNS. La valeur par défaut est any et utilise la configuration d'OS actuelle, qui peut renvoyer une adresse IPv4 ou IPv6. ipv4 force l'utilisation d'IPv4, et ipv6 force l'utilisation d'IPv6.

Énumération

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriétés

  • resultCode

    nombre

    Code de résultat renvoyé par l'appel réseau sous-jacent.

  • socketId

    nombre

    Identifiant du socket.

ReceiveInfo

Propriétés

  • données

    ArrayBuffer

    Données reçues, d'une taille maximale de bufferSize.

  • socketId

    nombre

    Identifiant du socket.

SecureOptions

Propriétés

SendInfo

Propriétés

  • bytesSent

    number facultatif

    Nombre d'octets envoyés (si result == 0)

  • resultCode

    nombre

    Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.

SocketInfo

Propriétés

  • bufferSize

    number facultatif

    Taille de la mémoire tampon utilisée pour recevoir les données. Si aucune taille de mémoire tampon n'a été explicitement spécifiée, la valeur n'est pas fournie.

  • connecté

    booléen

    Indicateur signalant si le socket est connecté à un pair distant.

  • localAddress

    chaîne facultatif

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

  • localPort

    number facultatif

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

  • nom

    chaîne facultatif

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

  • mis en veille

    booléen

    Indicateur indiquant si un socket connecté empêche son pair d'envoyer plus de données (voir setPaused).

  • peerAddress

    chaîne facultatif

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

  • peerPort

    number facultatif

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

  • persistant

    booléen

    Indicateur précisant si le socket reste ouvert lorsque l'application est suspendue (voir SocketProperties.persistent).

  • socketId

    nombre

    Identifiant du socket.

SocketProperties

Propriétés

  • bufferSize

    number facultatif

    Taille de la mémoire tampon utilisée pour recevoir les données. La valeur par défaut est 4096.

  • nom

    chaîne facultatif

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

  • persistant

    boolean facultatif

    Indicateur signalant si le socket reste ouvert lorsque la page d'événement de l'application est déchargée (voir Gérer le cycle de vie de l'application). La valeur par défaut est "false". Lorsque l'application est chargée, tous les sockets précédemment ouverts avec persistent=true peuvent être récupérés avec getSockets.

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

Méthodes

close()

Promise
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Ferme le socket et libère l'adresse/le port auquel le socket est lié. Chaque socket créé doit être fermé après utilisation. L'ID de socket n'est plus valide dès que la fonction est appelée. Toutefois, la fermeture du socket n'est garantie que lorsque le rappel est appelé.

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 121 ou version ultérieure

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

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)
: void

Connecte le socket à une machine distante. Une fois l'opération connect terminée, les événements onReceive sont déclenchés lorsque des données sont reçues du pair. Si une erreur réseau se produit pendant que l'environnement d'exécution reçoit des paquets, un événement onReceiveError est déclenché. À ce stade, aucun autre événement onReceive n'est déclenché pour ce socket tant que la méthode resume n'est pas appelée.

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • peerAddress

    chaîne

    Adresse de la machine distante. Les formats de nom DNS, IPv4 et IPv6 sont acceptés.

  • peerPort

    nombre

    Port de la machine distante.

  • dnsQueryType

    DnsQueryType facultatif

    Chrome 103 ou version ultérieure

    Préférence de résolution d'adresse.

  • callback

    fonction

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

    (result: number) => void

    • résultat

      nombre

      Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.

create()

Promise
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Crée un socket TCP.

Paramètres

  • propriétés

    SocketProperties facultatif

    Propriétés du socket (facultatif).

  • callback

    function facultatif

    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 ou version ultérieure

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

disconnect()

Promise
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Déconnecte le socket.

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 121 ou version ultérieure

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

getInfo()

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

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

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • callback

    function facultatif

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objet contenant les informations sur le socket.

Renvoie

  • Promise<SocketInfo>

    Chrome 121 ou version ultérieure

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

getSockets()

Promise
chrome.sockets.tcp.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Paramètres

  • callback

    function facultatif

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

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Tableau d'objets contenant des informations sur les sockets.

Renvoie

  • Promise<SocketInfo[]>

    Chrome 121 ou version ultérieure

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

secure()

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

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

Paramètres

  • socketId

    nombre

    Socket existant et 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

      nombre

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Envoie des données sur le socket TCP donné.

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • données

    ArrayBuffer

    Données à envoyer.

  • callback

    fonction

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

    (sendInfo: SendInfo) => void

    • sendInfo

      Résultat de la méthode send.

setKeepAlive()

chrome.sockets.tcp.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

    nombre

    Identifiant du socket.

  • activer

    booléen

    Si la valeur est "true", active la fonctionnalité de persistance.

  • 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 l'activité. La valeur par défaut est "0".

  • callback

    fonction

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

    (result: number) => void

    • résultat

      nombre

      Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.

setNoDelay()

chrome.sockets.tcp.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

    nombre

    Identifiant 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: number) => void

    • résultat

      nombre

      Code de résultat renvoyé par l'appel réseau sous-jacent. Une valeur négative indique une erreur.

setPaused()

Promise
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Active ou désactive la réception de messages de l'application par son pair. La valeur par défaut est "false". La mise en pause d'un socket est généralement utilisée par une application pour limiter les données envoyées par son pair. Lorsqu'un socket est mis en pause, aucun événement onReceive n'est déclenché. Lorsqu'un socket est connecté et que la mise en pause est annulée, les événements onReceive sont à nouveau déclenchés lorsque des messages sont reçus.

Paramètres

  • socketId

    nombre

  • mis en veille

    booléen

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 121 ou version ultérieure

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

update()

Promise
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

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

Paramètres

  • socketId

    nombre

    Identifiant du socket.

  • propriétés

    Propriétés à mettre à jour.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    Chrome 121 ou version ultérieure

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

Événements

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Événement déclenché lorsque des données ont été reçues pour un socket donné.

Paramètres

  • callback

    fonction

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

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.tcp.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 défini sur paused et aucun autre événement onReceive n'est déclenché pour ce socket.

Paramètres