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 ceux créés à partir d'autres API, telles que l'API
[
socket](../socket/)
obsolète.
DnsQueryType
Préférences de résolution DNS. La valeur par défaut est any
et utilise la configuration du système d'exploitation actuelle, qui peut renvoyer des adresses IPv4 ou IPv6. ipv4
force IPv4, et ipv6
force IPv6.
Énumération
"tous"
"ipv4"
"ipv6"
ReceiveErrorInfo
Propriétés
-
resultCode
Nombre
Code de résultat renvoyé par l'appel réseau sous-jacent.
-
socketId
Nombre
Identifiant de socket.
ReceiveInfo
Propriétés
-
données
ArrayBuffer
Données reçues, avec une taille maximale de
bufferSize
. -
socketId
Nombre
Identifiant de socket.
SecureOptions
Propriétés
-
tlsVersion
TLSVersionConstraints facultatif
SendInfo
Propriétés
-
bytesSent
numéro facultatif
Le nombre d'octets envoyés (si le résultat est égal à 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
numéro facultatif
Taille du tampon utilisé pour recevoir des 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
Indique 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
numéro 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
Indique 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
numéro facultatif
Si le socket sous-jacent est connecté, contient le port pair.
-
SSD
booléen
Indique si le socket est laissé ouvert lorsque l'application est suspendue (voir
SocketProperties.persistent
). -
socketId
Nombre
Identifiant de socket.
SocketProperties
Propriétés
-
bufferSize
numéro facultatif
Taille du tampon utilisé pour recevoir des données. La valeur par défaut est 4096.
-
nom
chaîne facultatif
Chaîne définie par l'application associée au socket.
-
SSD
Booléen facultatif
Indique 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 facultatif
-
min
chaîne facultatif
Les versions minimale et maximale acceptables de TLS. Les valeurs acceptées sont
tls1.2
ettls1.3
.Les valeurs
tls1
ettls1.1
ne sont plus acceptées. Simin
est défini sur l'une de ces valeurs, il sera automatiquement limité àtls1.2
. Simax
est défini sur l'une de ces valeurs ou sur toute autre valeur non reconnue, elle est ignorée sans notification.
Méthodes
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
)
Ferme le socket et libère l'adresse/le port auquel il 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 de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et 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,
)
Connecte le support à 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 l'environnement d'exécution reçoit des paquets, un événement onReceiveError
est déclenché. Aucun autre événement onReceive
ne sera alors déclenché pour ce socket tant que la méthode resume
n'est pas appelée.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
peerAddress
chaîne
Adresse de la machine distante. Le nom DNS, et les formats IPv4 et IPv6 sont acceptés.
-
peerPort
Nombre
Port de la machine distante.
-
dnsQueryType
DnsQueryType facultatif
Chrome 103 et versions ultérieuresPréférence de résolution de l'adresse.
-
rappel
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()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
)
Crée un socket TCP.
Paramètres
-
du bucket
SocketProperties facultatif
Propriétés du socket (facultatif).
-
rappel
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érieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
)
Débranche le support.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
)
Récupère l'état du socket donné.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(socketInfo: SocketInfo) => void
-
socketInfo
Objet contenant les informations de socket
-
Renvoie
-
Promise<SocketInfo>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
)
Récupère la liste des sockets actuellement ouverts appartenant à l'application.
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(socketInfos: SocketInfo[]) => void
-
socketInfos
Tableau d'objets contenant des informations sur le socket.
-
Renvoie
-
Promise<SocketInfo[]>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Démarrez une connexion client TLS via le socket client TCP connecté.
Paramètres
-
socketId
Nombre
Prise connectée existante à 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
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Envoie des données sur le socket TCP donné.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
données
ArrayBuffer
Données à envoyer.
-
rappel
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,
)
Active ou désactive la fonctionnalité keep-alive pour une connexion TCP.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
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: 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,
)
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 de socket.
-
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: 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()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Active ou désactive la réception de messages de son homologue. 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 suspendu, aucun événement onReceive
n'est déclenché. Lorsqu'un socket est connecté et réactivé, les événements onReceive
sont déclenchés à nouveau à la réception de messages.
Paramètres
-
socketId
Nombre
-
mis en veille
booléen
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Met à jour les propriétés du socket.
Paramètres
-
socketId
Nombre
Identifiant de socket.
-
du bucket
Propriétés à mettre à jour.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et 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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveInfo) => void
-
infos
-
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 de 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
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(info: ReceiveErrorInfo) => void
-
infos
-