Descrizione
Utilizza l'API chrome.sockets.tcp
per inviare e ricevere dati sulla rete tramite connessioni TCP. Questa API sostituisce la funzionalità TCP in precedenza presente nell'API chrome.socket
.
Manifest
Tipi
CreateInfo
Proprietà
-
socketId
numero
L'ID del socket appena creato. Tieni presente che gli ID socket creati da questa API non sono compatibili con gli ID socket creati da altre API, come l'API
[
socket](../socket/)
deprecata.
DnsQueryType
Preferenze di risoluzione DNS. Il valore predefinito è any
e utilizza l'attuale configurazione del sistema operativo, che potrebbe restituire IPv4 o IPv6. ipv4
forza IPv4, mentre ipv6
forza IPv6.
Enum
"qualsiasi"
"ipv4"
"ipv6"
ReceiveErrorInfo
Proprietà
-
resultCode
numero
Il codice risultato restituito dalla chiamata di rete sottostante.
-
socketId
numero
L'identificatore del socket.
ReceiveInfo
Proprietà
-
dati
ArrayBuffer
I dati ricevuti, con una dimensione massima di
bufferSize
. -
socketId
numero
L'identificatore del socket.
SecureOptions
Proprietà
-
tlsVersion
TLSVersionConstraints facoltativo
SendInfo
Proprietà
-
bytesSent
numero facoltativo
Il numero di byte inviati (se il risultato è == 0)
-
resultCode
numero
Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.
SocketInfo
Proprietà
-
bufferSize
numero facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Se non è stata specificata esplicitamente alcuna dimensione del buffer, il valore non viene fornito.
-
connesso
booleano
Flag che indica se il socket è connesso a un peer remoto.
-
localAddress
stringa facoltativo
Se il socket sottostante è connesso, contiene il suo indirizzo IPv4/6 locale.
-
localPort
numero facoltativo
Se il socket sottostante è connesso, contiene la sua porta locale.
-
nome
stringa facoltativo
Stringa definita dall'applicazione associata al socket.
-
in pausa
booleano
Flag che indica se un socket connesso impedisce al peer di inviare più dati (vedi
setPaused
). -
peerAddress
stringa facoltativo
Se il socket sottostante è connesso, contiene l'indirizzo peer/ IPv4/6.
-
peerPort
numero facoltativo
Se il socket sottostante è connesso, contiene la porta peer.
-
persistente
booleano
Flag che indica se il socket viene lasciato aperto quando l'applicazione viene sospesa (vedi
SocketProperties.persistent
). -
socketId
numero
L'identificatore del socket.
SocketProperties
Proprietà
-
bufferSize
numero facoltativo
La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.
-
nome
stringa facoltativo
Una stringa definita dall'applicazione associata al socket.
-
persistente
booleano facoltativo
Flag che indica se il socket viene lasciato aperto quando viene eseguito l'unload della pagina degli eventi dell'applicazione (vedi Gestione del ciclo di vita delle app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutti i socket aperti in precedenza con permanente=true possono essere recuperati con
getSockets
.
TLSVersionConstraints
Proprietà
-
max
stringa facoltativo
-
min
stringa facoltativo
Le versioni minime e massime accettabili di TLS. I valori supportati sono
tls1.2
otls1.3
.I valori
tls1
etls1.1
non sono più supportati. Se il valoremin
viene impostato su uno di questi valori, verrà bloccato automaticamente sutls1.2
. Se il criteriomax
viene impostato su uno di questi valori o su un altro valore non riconosciuto, il valore verrà ignorato automaticamente.
Metodi
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
)
Chiude il socket e rilascia l'indirizzo/la porta a cui è associato il socket. Ogni socket creato deve essere chiuso dopo l'uso. L'ID socket non è più valido non appena viene chiamata la funzione. Tuttavia, la chiusura del socket è garantita solo quando viene richiamato il callback.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
)
Collega la presa a un computer remoto. Quando l'operazione connect
viene completata correttamente, vengono generati onReceive
eventi quando il peer riceve i dati. Se si verifica un errore di rete mentre il runtime riceve i pacchetti, viene generato un evento onReceiveError
e a quel punto non verrà generato più evento onReceive
per questo socket fino a quando non viene richiamato il metodo resume
.
Parametri
-
socketId
numero
L'identificatore del socket.
-
peerAddress
stringa
L'indirizzo della macchina remota. Sono supportati i formati nome DNS, IPv4 e IPv6.
-
peerPort
numero
La porta della macchina remota.
-
dnsQueryType
DnsQueryType facoltativo
Chrome 103 e versioni successive .La preferenza di risoluzione degli indirizzi.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
)
Crea un socket TCP.
Parametri
-
proprietà
SocketProperties facoltativo
Le proprietà del socket (facoltative).
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
Il risultato della creazione del socket.
-
Resi
-
Promise<CreateInfo>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
)
Disconnette la presa.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato del socket specificato.
Parametri
-
socketId
numero
L'identificatore del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(socketInfo: SocketInfo) => void
-
socketInfo
Oggetto contenente le informazioni sul socket.
-
Resi
-
Promise<SocketInfo>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
)
Recupera l'elenco dei socket attualmente aperti di proprietà dell'applicazione.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(socketInfos: SocketInfo[]) => void
-
socketInfos
Array di oggetti contenente informazioni sul socket.
-
Resi
-
Promise<SocketInfo[]>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Avvia una connessione client TLS sul socket del client TCP connesso.
Parametri
-
socketId
numero
La presa connessa esistente da utilizzare.
-
opzioni
SecureOptions facoltativo
Vincoli e parametri per la connessione TLS.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Invia i dati sul socket TCP specificato.
Parametri
-
socketId
numero
L'identificatore del socket.
-
dati
ArrayBuffer
I dati da inviare.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(sendInfo: SendInfo) => void
-
sendInfo
Risultato del metodo
send
.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Attiva o disattiva la funzionalità keep-alive per una connessione TCP.
Parametri
-
socketId
numero
L'identificatore del socket.
-
attiva
booleano
Se impostato su true, abilita la funzionalità keep-alive.
-
delay
numero facoltativo
Imposta i secondi di ritardo tra l'ultimo pacchetto di dati ricevuto e il primo probe keepalive. Il valore predefinito è 0.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.
-
setNoDelay()
chrome.sockets.tcp.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Imposta o cancella TCP_NODELAY
per una connessione TCP. L'algoritmo di Nagle verrà disattivato quando viene impostato il criterio TCP_NODELAY
.
Parametri
-
socketId
numero
L'identificatore del socket.
-
noDelay
booleano
Se impostato su true, disabilita l'algoritmo di Nagle.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Attiva o disattiva la ricezione di messaggi dal peer dell'applicazione. Il valore predefinito è "false". La messa in pausa di un socket viene in genere utilizzata da un'applicazione per limitare i dati inviati dal peer. Quando un socket viene messo in pausa, non viene generato alcun evento onReceive
. Quando un socket viene connesso e viene riattivato, gli eventi onReceive
vengono generati di nuovo alla ricezione dei messaggi.
Parametri
-
socketId
numero
-
in pausa
booleano
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Aggiorna le proprietà del socket.
Parametri
-
socketId
numero
L'identificatore del socket.
-
proprietà
Le proprietà da aggiornare.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 121 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Evento generato alla ricezione dei dati per un determinato socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveInfo) => void
-
informazioni
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Evento generato quando si è verificato un errore di rete mentre il runtime era in attesa di dati sull'indirizzo e sulla porta del socket. Una volta generato questo evento, il socket viene impostato su paused
e non vengono generati altri eventi onReceive
per questo socket.
Parametri
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(info: ReceiveErrorInfo) => void
-
informazioni
-