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 qui se trouvait auparavant 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

    Total

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

DnsQueryType

Chrome 103 et versions ultérieures

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

Énumération

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriétés

  • resultCode

    Total

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

  • socketId

    Total

    Identifiant du socket.

ReceiveInfo

Propriétés

  • données

    ArrayBuffer

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

  • socketId

    Total

    Identifiant du socket.

SecureOptions

Propriétés

SendInfo

Propriétés

  • bytesSent

    number facultatif

    Nombre d'octets envoyés (si le résultat est égal à 0)

  • resultCode

    Total

    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 du tampon utilisé pour recevoir les données. Si aucune taille de mémoire tampon n'a été spécifiée explicitement, la valeur n'est pas fournie.

  • connecté

    booléen

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

  • localAddress

    chaîne facultative

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

  • localPort

    number facultatif

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

  • nom

    chaîne facultative

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

  • mis en veille

    booléen

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

  • peerAddress

    chaîne facultative

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

  • peerPort

    number facultatif

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

  • SSD

    booléen

    Indicateur indiquant si le socket est laissé ouvert lorsque l'application est suspendue (voir SocketProperties.persistent).

  • socketId

    Total

    Identifiant du socket.

SocketProperties

Propriétés

  • bufferSize

    number facultatif

    Taille du tampon utilisé pour recevoir les données. La valeur par défaut est 4 096.

  • nom

    chaîne facultative

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

  • SSD

    booléen facultatif

    Indicateur indiquant si le socket est laissé ouvert lorsque la page d'événements 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 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.

Méthodes

close()

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

Ferme le socket et libère l'adresse/le port auxquels le socket est lié. Chaque socket créé doit être fermé après utilisation. L'ID du 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 invoqué.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    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.

connect()

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

Connecte le socket à une machine distante. Lorsque l'opération connect se termine correctement, des é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 le runtime reçoit des paquets, un événement onReceiveError est déclenché. À ce moment-là, aucun autre événement onReceive ne sera déclenché pour ce socket tant que la méthode resume n'aura pas été appelée.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • peerAddress

    chaîne

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

  • peerPort

    Total

    Port de la machine distante.

  • dnsQueryType

    DnsQueryType facultatif

    Chrome 103 et versions ultérieures

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

  • callback

    fonction

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

    (result: number) => void

    • résultat

      Total

      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

  • properties

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

disconnect()

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

Déconnecte le socket.

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    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.

getInfo()

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

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

Paramètres

  • socketId

    Total

    Identifiant du socket.

  • callback

    function facultatif

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

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objet contenant les informations du socket.

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.

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

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

    Total

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

send()

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

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

Paramètres

  • socketId

    Total

    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

    Total

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

    • résultat

      Total

      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

    Total

    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

      Total

      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 depuis son homologue. La valeur par défaut est "false". La suspension d'un socket est généralement utilisée par une application pour limiter les données envoyées par son homologue. 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

    Total

  • mis en veille

    booléen

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    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.

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

    Total

    Identifiant du socket.

  • properties

    Propriétés à mettre à jour.

  • callback

    function facultatif

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

    () => void

Renvoie

  • Promise<void>

    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.

É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 pendant que le runtime 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