Description
Utilisez l'API chrome.sockets.tcpServer
pour créer des applications serveur à 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
AcceptErrorInfo
Propriétés
-
resultCode
Total
Code de résultat renvoyé par l'appel réseau sous-jacent.
-
socketId
Total
Identifiant du socket du serveur.
AcceptInfo
Propriétés
-
clientSocketId
Total
Identifiant du socket client, c'est-à-dire l'identifiant du socket de la connexion nouvellement établie. Cet identifiant de socket ne doit être utilisé qu'avec les fonctions de l'espace de noms
chrome.sockets.tcp
. Notez que le socket client est initialement mis en pause et doit être explicitement réactivé par l'application pour commencer à recevoir des données. -
socketId
Total
Identifiant du socket du serveur.
CreateInfo
Propriétés
-
socketId
Total
ID du socket de serveur 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.
SocketInfo
Propriétés
-
localAddress
chaîne facultative
Si le socket est à l'écoute, il contient son adresse IPv4/6 locale.
-
localPort
number facultatif
Si le socket est à l'écoute, 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 les demandes de connexion sur un socket d'écoute sont distribuées via l'événement
onAccept
ou mises en file d'attente dans le backlog de la file d'attente d'écoute. Consultez lessetPaused
. La valeur par défaut est "false". -
SSD
booléen
Indicateur indiquant si le socket reste ouvert lorsque la page d'événement de l'application est déchargée (voir
SocketProperties.persistent
). La valeur par défaut est "false". -
socketId
Total
Identifiant du socket.
SocketProperties
Propriétés
-
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 reste ouvert lorsque la page d'événement 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
.
Méthodes
close()
chrome.sockets.tcpServer.close(
socketId: number,
callback?: function,
): Promise<void>
Déconnecte et détruit le socket. 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.
create()
chrome.sockets.tcpServer.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Crée un socket de serveur 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.tcpServer.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Déconnecte le socket d'écoute, c'est-à-dire qu'il cesse d'accepter de nouvelles connexions et libère l'adresse/le port auxquels le socket est lié. L'identifiant du socket reste valide. Par exemple, il peut être utilisé avec listen
pour accepter les connexions sur un nouveau port et une nouvelle adresse.
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.tcpServer.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.tcpServer.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.
listen()
chrome.sockets.tcpServer.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Écoute les connexions sur le port et l'adresse spécifiés. Si le port ou l'adresse sont utilisés, le rappel indique un échec.
Paramètres
-
socketId
Total
Identifiant du socket.
-
adresse
chaîne
Adresse de la machine locale.
-
port
Total
Port de la machine locale. Lorsque la valeur est définie sur
0
, un port libre est choisi de manière dynamique. Vous pouvez trouver le port alloué de manière dynamique en appelantgetInfo
. -
backlog
number facultatif
Longueur de la file d'attente d'écoute du socket. La valeur par défaut dépend du système d'exploitation (SOMAXCONN), qui garantit une longueur de file d'attente raisonnable pour la plupart des applications.
-
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.tcpServer.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Active ou désactive l'acceptation de nouvelles connexions par un socket d'écoute. Lorsqu'il est mis en veille, un socket d'écoute accepte de nouvelles connexions jusqu'à ce que son backlog (voir la fonction listen
) soit plein, puis refuse les demandes de connexion supplémentaires. Les événements onAccept
ne sont déclenchés que lorsque le socket est réactivé.
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.tcpServer.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
onAccept
chrome.sockets.tcpServer.onAccept.addListener(
callback: function,
)
Événement déclenché lorsqu'une connexion a été établie avec le socket du serveur.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(info: AcceptInfo) => void
-
infos
-
onAcceptError
chrome.sockets.tcpServer.onAcceptError.addListener(
callback: function,
)
Événement déclenché lorsqu'une erreur réseau s'est produite pendant que le runtime attendait de nouvelles connexions 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 onAccept
n'est déclenché pour ce socket tant qu'il n'est pas rétabli.
Paramètres
-
callback
fonction
Le paramètre
callback
se présente comme suit :(info: AcceptErrorInfo) => void
-
infos
-