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 obsolète et a été remplacée par les API sockets.udp
, sockets.tcp
et sockets.tcpServer
.
Autorisations
socket
Types
AcceptInfo
Propriétés
-
resultCode
number
-
socketId
numéro facultatif
Identifiant du socket accepté.
CreateInfo
Propriétés
-
socketId
number
Identifiant du socket nouvellement créé.
CreateOptions
NetworkInterface
Propriétés
-
adresse
chaîne
Adresse IPv4/6 disponible.
-
name
chaîne
Nom sous-jacent de l'adaptateur. Sur *nix, il s'agit généralement de "eth0", "lo", etc.
-
prefixLength
number
La longueur du préfixe
ReadInfo
Propriétés
-
data
ArrayBuffer
-
resultCode
number
Le code de résultat renvoyé par l'appel read() sous-jacent.
RecvFromInfo
Propriétés
-
adresse
chaîne
Adresse de la machine distante.
-
data
ArrayBuffer
-
port
number
-
resultCode
number
Le code de résultat renvoyé par l'appel recvfrom() sous-jacent.
SecureOptions
Propriétés
-
tlsVersion
TLSVersionConstraints facultatif
SocketInfo
Propriétés
-
connecté
boolean
Indique si le socket sous-jacent est connecté ou non.
Pour les sockets
tcp
, ce paramètre reste vrai même si le pair distant est déconnecté. La lecture ou l'écriture sur le socket peut ensuite entraîner une erreur, indiquant que ce socket doit être déconnecté viadisconnect()
.Pour les sockets
udp
, cela indique simplement si une adresse distante par défaut a été spécifiée pour la lecture et l'écriture des paquets. -
localAddress
string facultatif
Si le socket sous-jacent est lié ou connecté, contient son adresse IPv4/6 locale.
-
localPort
numéro facultatif
Si le socket sous-jacent est lié ou connecté, contient son port local.
-
peerAddress
string 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é, il contient le port du pair connecté.
-
socketType
Type du socket transmis. Il s'agit de
tcp
ouudp
.
SocketType
Enum
"tcp"
.
"udp"
TLSVersionConstraints
Propriétés
-
max
string facultatif
-
min
string facultatif
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.
WriteInfo
Propriétés
-
bytesWritten
number
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 du serveur d'écoute. La fonction Listen doit d'abord être appelée. S'il existe déjà un rappel d'acceptation actif, ce rappel sera invoqué immédiatement avec une erreur en tant que resultCode.
Paramètres
-
socketId
number
socketId.
-
rappel
function
Le paramètre
callback
se présente comme suit :(acceptInfo: AcceptInfo)=>void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Lie l'adresse locale pour le socket. Actuellement, il n'est pas compatible avec le socket TCP.
Paramètres
-
socketId
number
socketId.
-
adresse
chaîne
Adresse de la machine locale.
-
port
number
Port de la machine locale.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
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
, cela définit l'adresse par défaut vers laquelle les paquets sont envoyés et lus pour les appels read()
et write()
.
Paramètres
-
socketId
number
socketId.
-
nom d'hôte
chaîne
Nom d'hôte ou adresse IP de la machine distante.
-
port
number
Port de la machine distante.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
create()
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
ouudp
. -
options
CreateOptions facultatif
Options de socket.
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :(createInfo: CreateInfo)=>void
-
createInfo
-
Renvoie
-
Promise<CreateInfo>
Chrome 121 et versions ultérieuresLes 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
number
socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Débranche le support. Pour les sockets UDP, disconnect
est une opération non opérationnelle, mais peut être appelé en toute sécurité.
Paramètres
-
socketId
number
socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Récupère l'état d'un socket donné.
Paramètres
-
socketId
number
socketId.
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :(result: SocketInfo)=>void
-
résultat
-
Renvoie
-
Promise<SocketInfo>
Chrome 121 et versions ultérieuresLes 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ère les adresses de groupe de multidiffusion auxquelles le socket est actuellement joint.
Paramètres
-
socketId
number
socketId.
-
rappel
function
Le paramètre
callback
se présente comme suit :(groups: string[])=>void
-
groupes
chaîne[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Récupère des informations sur les adaptateurs locaux de ce système.
Paramètres
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :(result: NetworkInterface[])=>void
-
résultat
-
Renvoie
-
Promise<NetworkInterface[]>
Chrome 121 et versions ultérieuresLes 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 de multidiffusion et commencez à recevoir des paquets de ce groupe. Le socket doit être de type UDP et doit être lié à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
number
socketId.
-
adresse
chaîne
Adresse du groupe à rejoindre. Les noms de domaine ne sont pas acceptés.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Quittez le groupe de multidiffusion précédemment joint à l'aide de joinGroup
. Il n'est pas nécessaire de quitter le groupe de multidiffusion avant de détruire le socket ou de le quitter. Elle est appelée automatiquement
par le système d'exploitation.
Le fait de quitter le groupe empêchera le routeur d'envoyer des datagrammes de multidiffusion à l'hôte local, en supposant qu'aucun autre processus de l'hôte ne soit encore joint au groupe.
Paramètres
-
socketId
number
socketId.
-
adresse
chaîne
Adresse du groupe à quitter. Les noms de domaine ne sont pas acceptés.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
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 (connexion, lecture, écriture) ne peuvent plus être utilisées sur ce socket.
Paramètres
-
socketId
number
socketId.
-
adresse
chaîne
Adresse de la machine locale.
-
port
number
Port de la machine locale.
-
en attente
numéro facultatif
Longueur de la file d'attente d'écoute du socket.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Lit les données du socket connecté donné.
Paramètres
-
socketId
number
socketId.
-
bufferSize
numéro facultatif
Taille de la mémoire tampon de lecture
-
rappel
function
Le paramètre
callback
se présente comme suit :(readInfo: ReadInfo)=>void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Reçoit les données du socket UDP donné.
Paramètres
-
socketId
number
socketId.
-
bufferSize
numéro facultatif
Taille du tampon de réception.
-
rappel
function
Le paramètre
callback
se présente comme suit :(recvFromInfo: RecvFromInfo)=>void
-
recvFromInfo
-
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
number
Prise connectée à utiliser.
-
options
SecureOptions facultatif
Contraintes et paramètres de la connexion TLS.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Envoie les données d'un socket UDP donné à l'adresse et au port donnés.
Paramètres
-
socketId
number
socketId.
-
data
ArrayBuffer
Données à écrire.
-
adresse
chaîne
Adresse de la machine distante.
-
port
number
Port de la machine distante.
-
rappel
function
Le paramètre
callback
se présente comme suit :(writeInfo: WriteInfo)=>void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Active ou désactive la fonctionnalité keep-alive pour une connexion TCP.
Paramètres
-
socketId
number
socketId.
-
enable
boolean
Si la valeur est "true", activez la fonctionnalité de message 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 keepalive. La valeur par défaut est 0.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: boolean)=>void
-
résultat
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Déterminez si les paquets de multidiffusion envoyés de l'hôte au groupe de multidiffusion seront retransmis en boucle sur l'hôte.
Remarque: Le comportement de setMulticastLoopbackMode
est légèrement différent entre les systèmes Windows et de type Unix. Cette incohérence ne se produit que lorsque plusieurs applications d'un même hôte sont jointes au même groupe de multidiffusion alors que des paramètres différents sont définis sur le mode de bouclage de multidiffusion. Sous Windows, les applications avec bouclage désactivé ne recevront pas les paquets de bouclage. Sur les systèmes de type Unix, les applications avec bouclage désactivé n'enverront pas les paquets de bouclage à d'autres applications sur le même hôte. Voir MSDN: http://goo.gl/6vqbj
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
number
socketId.
-
activé
boolean
Indiquez si vous souhaitez activer le mode bouclage.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Définissez la valeur TTL des paquets de multidiffusion envoyés au groupe de multidiffusion.
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
number
socketId.
-
ttl
number
Valeur TTL.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: number)=>void
-
résultat
number
-
setNoDelay()
chrome.socket.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
number
socketId.
-
noDelay
boolean
Si la valeur est "true", désactive l'algorithme de Nagle.
-
rappel
function
Le paramètre
callback
se présente comme suit :(result: boolean)=>void
-
résultat
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Écrit des données sur le socket connecté donné.