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
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
-
tlsVersion
TLSVersionConstraints facultatif
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
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, il sera ignoré sans avertissement.
Méthodes
close()
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érieuresLes 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érieuresPré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()
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érieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
disconnect()
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érieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getInfo()
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érieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getSockets()
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érieuresLes 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()
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érieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
update()
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érieuresLes 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
-
infos
-
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
-
callback
fonction
Le paramètre
callback
se présente comme suit :(info: ReceiveErrorInfo) => void
-
infos
-