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 remplacée par les API sockets.udp, sockets.tcp et sockets.tcpServer.
Autorisations
socketTypes
AcceptInfo
Propriétés
-
resultCode
nombre
-
socketId
number facultatif
ID du socket accepté.
CreateInfo
Propriétés
-
socketId
nombre
ID du socket nouvellement créé.
CreateOptions
NetworkInterface
Propriétés
-
adresse
chaîne
Adresse IPv4/6 disponible.
-
nom
chaîne
Nom sous-jacent de l'adaptateur. Sur *nix, il s'agit généralement de "eth0", "lo", etc.
-
prefixLength
nombre
Longueur du préfixe
ReadInfo
Propriétés
-
données
ArrayBuffer
-
resultCode
nombre
Le resultCode renvoyé par l'appel read() sous-jacent.
RecvFromInfo
Propriétés
-
adresse
chaîne
Adresse de la machine distante.
-
données
ArrayBuffer
-
port
nombre
-
resultCode
nombre
Le resultCode renvoyé par l'appel recvfrom() sous-jacent.
SecureOptions
Propriétés
-
tlsVersion
TLSVersionConstraints facultatif
SocketInfo
Propriétés
-
connecté
booléen
Indique si le socket sous-jacent est connecté.
Pour les sockets
tcp, cela reste vrai même si l'homologue distant s'est déconnecté. La lecture ou l'écriture sur le socket peut alors 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 de paquets. -
localAddress
chaîne facultatif
Si le socket sous-jacent est lié ou connecté, contient son adresse IPv4/6 locale.
-
localPort
number facultatif
Si le socket sous-jacent est lié ou connecté, contient son port local.
-
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 du pair connecté.
-
socketType
Type du socket transmis. Il s'agit de
tcpouudp.
SocketType
Énumération
"tcp"
"udp"
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.2ettls1.3.Les valeurs
tls1ettls1.1ne sont plus acceptées. Siminest défini sur l'une de ces valeurs, il sera silencieusement limité àtls1.2. Simaxest défini sur l'une de ces valeurs ou sur toute autre valeur non reconnue, il sera ignoré sans notification.
WriteInfo
Propriétés
-
bytesWritten
nombre
Nombre d'octets envoyés ou code d'erreur négatif.
Méthodes
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
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 serveur d'écoute. "Listen" doit être appelé en premier. Si un rappel d'acceptation est déjà actif, il est appelé immédiatement avec une erreur comme resultCode.
Paramètres
-
socketId
nombre
L'ID du socket.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Lie l'adresse locale du socket. Les sockets TCP ne sont actuellement pas pris en charge.
Paramètres
-
socketId
nombre
L'ID du socket.
-
adresse
chaîne
Adresse de la machine locale.
-
port
nombre
Port de la machine locale.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Connecte le socket à la machine distante (pour un socket tcp). Pour un socket udp, cela définit l'adresse par défaut à laquelle les paquets sont envoyés et à partir de laquelle ils sont lus pour les appels read() et write().
Paramètres
-
socketId
nombre
L'ID du socket.
-
nom d'hôte
chaîne
Nom d'hôte ou adresse IP de la machine distante.
-
port
nombre
Port de la machine distante.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
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
tcpouudp. -
options
CreateOptions facultatif
Options de socket.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(createInfo: CreateInfo) => void
-
createInfo
-
Renvoie
-
Promise<CreateInfo>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Détruit le socket. Chaque socket créé doit être détruit après utilisation.
Paramètres
-
socketId
nombre
L'ID du socket.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Déconnecte le socket. Pour les sockets UDP, disconnect est une non-opération, mais peut être appelé en toute sécurité.
Paramètres
-
socketId
nombre
L'ID du socket.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Récupère l'état du socket donné.
Paramètres
-
socketId
nombre
L'ID du socket.
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(result: SocketInfo) => void
-
résultat
-
Renvoie
-
Promise<SocketInfo>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Récupérez les adresses de groupe multicast auxquelles le socket est actuellement associé.
Paramètres
-
socketId
nombre
L'ID du socket.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(groups: string[]) => void
-
groupes
chaîne[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Récupère des informations sur les adaptateurs locaux de ce système.
Paramètres
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(result: NetworkInterface[]) => void
-
résultat
-
Renvoie
-
Promise<NetworkInterface[]>
Chrome 121 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Rejoignez le groupe multicast 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
nombre
L'ID du socket.
-
adresse
chaîne
Adresse du groupe à rejoindre. Les noms de domaine ne sont pas acceptés.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Quittez le groupe multicast précédemment rejoint à l'aide de joinGroup. Il n'est pas nécessaire de quitter le groupe multicast avant de détruire le socket ou de quitter l'application. Cette méthode est automatiquement appelée par l'OS.
Le fait de quitter le groupe empêche le routeur d'envoyer des datagrammes multicast à l'hôte local, à condition qu'aucun autre processus de l'hôte ne soit encore membre du groupe.
Paramètres
-
socketId
nombre
L'ID du socket.
-
adresse
chaîne
Adresse du groupe à quitter. Les noms de domaine ne sont pas acceptés.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Cette méthode ne s'applique qu'aux sockets TCP. Écoute les connexions sur le port et l'adresse spécifiés. Cela en fait un socket serveur, et les fonctions de socket client (connect, read, write) ne peuvent plus être utilisées sur ce socket.
Paramètres
-
socketId
nombre
L'ID du socket.
-
adresse
chaîne
Adresse de la machine locale.
-
port
nombre
Port de la machine locale.
-
backlog
number facultatif
Longueur de la file d'attente d'écoute du socket.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Lit les données du socket connecté donné.
Paramètres
-
socketId
nombre
L'ID du socket.
-
bufferSize
number facultatif
Taille de la mémoire tampon de lecture.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Reçoit les données du socket UDP donné.
Paramètres
-
socketId
nombre
L'ID du socket.
-
bufferSize
number facultatif
Taille de la mémoire tampon de réception.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Démarrez une connexion client TLS sur un socket client TCP connecté.
Paramètres
-
socketId
nombre
Socket connecté à utiliser.
-
options
SecureOptions facultatif
Contraintes et paramètres de la connexion TLS.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Envoie des données sur le socket UDP donné à l'adresse et au port spécifiés.
Paramètres
-
socketId
nombre
L'ID du socket.
-
données
ArrayBuffer
Données à écrire.
-
adresse
chaîne
Adresse de la machine distante.
-
port
nombre
Port de la machine distante.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.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
L'ID 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
callbackse présente comme suit :(result: boolean) => void
-
résultat
booléen
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Définissez si les paquets multicast envoyés de l'hôte au groupe multicast seront renvoyés à l'hôte.
Remarque : Le comportement de setMulticastLoopbackMode est légèrement différent entre Windows et les systèmes de type Unix. L'incohérence ne se produit que lorsqu'il existe plusieurs applications sur le même hôte, jointes au même groupe multicast, mais avec des paramètres différents en mode de bouclage multicast. Sous Windows, les applications pour lesquelles le bouclage est désactivé ne REÇOIVENT pas les paquets de bouclage. En revanche, sur les systèmes de type Unix, les applications pour lesquelles le bouclage est désactivé n'ENVOIENT pas les paquets de bouclage aux autres applications du même hôte. Consultez MSDN : https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2.
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
nombre
L'ID du socket.
-
activé
booléen
Indiquez si vous souhaitez activer le mode de bouclage.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Définissez la valeur TTL des paquets multicast envoyés au groupe multicast.
L'appel de cette méthode ne nécessite pas d'autorisations de multidiffusion.
Paramètres
-
socketId
nombre
L'ID du socket.
-
ttl
nombre
Valeur TTL (Time To Live).
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: number) => void
-
résultat
nombre
-
setNoDelay()
chrome.socket.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
L'ID du socket.
-
noDelay
booléen
Si la valeur est "true", l'algorithme de Nagle est désactivé.
-
callback
fonction
Le paramètre
callbackse présente comme suit :(result: boolean) => void
-
résultat
booléen
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Écrit des données sur le socket connecté donné.