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 abandonnée au profit des API sockets.udp
, sockets.tcp
et sockets.tcpServer
.
Autorisations
socket
Types
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. Sous *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
Code de résultat 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
Code de résultat 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é ou non.
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, ce qui indique que ce socket doit être déconnecté viadisconnect()
.Pour les sockets
udp
, il 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 de l'homologue.
-
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
tcp
ou deudp
.
SocketType
Énumération
"tcp"
"udp"
TLSVersionConstraints
Propriétés
-
max
chaîne facultatif
-
min
chaîne facultatif
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 silencieusement limité àtls1.2
. Simax
est défini sur l'une de ces valeurs ou sur une autre valeur non reconnue, il sera ignoré en silence.
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,
)
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 de 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 code de résultat.
Paramètres
-
socketId
Nombre
socketId
-
rappel
fonction
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,
)
Associe l'adresse locale au socket. Actuellement, il n'est pas compatible avec le socket TCP.
Paramètres
-
socketId
Nombre
socketId
-
adresse
chaîne
Adresse de la machine locale.
-
port
Nombre
Port de la machine locale.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
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
, cette valeur 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
socketId
-
nom d'hôte
chaîne
Nom d'hôte ou adresse IP de la machine distante.
-
port
Nombre
Port de la machine distante.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
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
Les options de socket.
-
rappel
fonction facultatif
Le paramètre
callback
se 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 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
Nombre
socketId
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Déconnecte la prise. Pour les sockets UDP, disconnect
est une non-opération, mais peut être appelé sans risque.
Paramètres
-
socketId
Nombre
socketId
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Récupère l'état du socket donné.
Paramètres
-
socketId
Nombre
socketId
-
rappel
fonction facultatif
Le paramètre
callback
se 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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Récupérez les adresses de groupe multicast auxquelles le socket est actuellement associé.
Paramètres
-
socketId
Nombre
socketId
-
rappel
fonction
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 facultatif
Le paramètre
callback
se 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 versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Rejoignez le groupe multicast et commencez à recevoir des paquets de ce groupe. Le socket doit être de type UDP et doit être associé à un port local avant d'appeler cette méthode.
Paramètres
-
socketId
Nombre
socketId
-
adresse
chaîne
Adresse du groupe à rejoindre. Les noms de domaine ne sont pas acceptés.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Quittez le groupe multicast auquel vous avez précédemment adhéré à l'aide de joinGroup
. Il n'est pas nécessaire de quitter le groupe multicast avant de détruire le socket ou de quitter le programme. Cette méthode est appelée automatiquement par l'OS.
Quitter le groupe empêche le routeur d'envoyer des datagrammes multicast à l'hôte local, en supposant qu'aucun autre processus de l'hôte n'est toujours associé au groupe.
Paramètres
-
socketId
Nombre
socketId
-
adresse
chaîne
Adresse du groupe à quitter. Les noms de domaine ne sont pas acceptés.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
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 (connect, read, write) ne peuvent plus être utilisées sur ce socket.
Paramètres
-
socketId
Nombre
socketId
-
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.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Lit les données du socket connecté donné.
Paramètres
-
socketId
Nombre
socketId
-
bufferSize
number facultatif
Taille de la mémoire tampon de lecture.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Réçoit les données du socket UDP donné.
Paramètres
-
socketId
Nombre
socketId
-
bufferSize
number facultatif
Taille de la mémoire tampon de réception.
-
rappel
fonction
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
Nombre
Socket connecté à 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
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Envoie des données sur le socket UDP donné à l'adresse et au port donnés.
Paramètres
-
socketId
Nombre
socketId
-
données
ArrayBuffer
Les données à écrire.
-
adresse
chaîne
Adresse de la machine distante.
-
port
Nombre
Port de la machine distante.
-
rappel
fonction
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é de suivi pour une connexion TCP.
Paramètres
-
socketId
Nombre
socketId
-
activer
booléen
Si défini sur "true", active la fonctionnalité de maintien de la connexion.
-
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 keepalive. La valeur par défaut est "0".
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: boolean) => void
-
résultat
booléen
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Indique 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 les systèmes Windows et 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 pour le mode loopback multicast. Sous Windows, les applications avec le loopback désactivé ne RECEVRONT pas les paquets loopback. Sur les systèmes Unix, les applications avec le loopback désactivé n'ENVOIENT pas les paquets loopback à d'autres applications sur le même hôte. Consultez MSDN: http://goo.gl/6vqbj.
L'appel de cette méthode ne nécessite pas d'autorisations multicast.
Paramètres
-
socketId
Nombre
socketId
-
activé
booléen
Indique si le mode bouclage doit être activé.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Définissez la durée de vie des paquets multicast envoyés au groupe multicast.
L'appel de cette méthode ne nécessite pas d'autorisations multicast.
Paramètres
-
socketId
Nombre
socketId
-
ttl
Nombre
Valeur de durée de vie.
-
rappel
fonction
Le paramètre
callback
se présente comme suit :(result: number) => void
-
résultat
Nombre
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Définit ou efface TCP_NODELAY
pour une connexion TCP. L'algorithme de Nagle est désactivé lorsque TCP_NODELAY
est défini.
Paramètres
-
socketId
Nombre
socketId
-
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: boolean) => void
-
résultat
booléen
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Écrit des données sur le socket connecté donné.