Descrizione
Utilizza l'API chrome.socket
per inviare e ricevere dati sulla rete utilizzando connessioni TCP e UDP. Nota: a partire da Chrome 33, questa API è deprecata a favore delle API sockets.udp
, sockets.tcp
e sockets.tcpServer
.
Autorizzazioni
socket
Tipi
AcceptInfo
Proprietà
-
resultCode
numero
-
socketId
number facoltativo
L'ID della presa accettata.
CreateInfo
Proprietà
-
socketId
numero
L'ID della presa appena creata.
CreateOptions
NetworkInterface
Proprietà
-
indirizzo
stringa
L'indirizzo IPv4/6 disponibile.
-
nome
stringa
Il nome sottostante dell'adattatore. Su *nix, in genere si tratta di "eth0", "lo" e così via.
-
prefixLength
numero
La lunghezza del prefisso
ReadInfo
Proprietà
-
dati
ArrayBuffer
-
resultCode
numero
Il codice risultato restituito dalla chiamata read() sottostante.
RecvFromInfo
Proprietà
-
indirizzo
stringa
L'indirizzo della macchina remota.
-
dati
ArrayBuffer
-
porta
numero
-
resultCode
numero
Il codice risultato restituito dalla chiamata recvfrom() sottostante.
SecureOptions
Proprietà
-
tlsVersion
TLSVersionConstraints facoltativo
SocketInfo
Proprietà
-
connesso
booleano
Indica se la socket sottostante è connessa o meno.
Per le socket
tcp
, questo rimarrà vero anche se il peer remoto si è disconnesso. La lettura o la scrittura nel socket potrebbe quindi causare un errore, suggerendo che questo socket debba essere disconnesso tramitedisconnect()
.Per le socket
udp
, indica semplicemente se è stato specificato un indirizzo remoto predefinito per la lettura e la scrittura dei pacchetti. -
localAddress
stringa facoltativa
Se la socket sottostante è associata o connessa, contiene il relativo indirizzo IPv4/6 locale.
-
localPort
number facoltativo
Se la socket sottostante è associata o collegata, contiene la relativa porta locale.
-
peerAddress
stringa facoltativa
Se la socket sottostante è connessa, contiene l'indirizzo IPv4/6 del peer.
-
peerPort
number facoltativo
Se la socket sottostante è connessa, contiene la porta del peer connesso.
-
socketType
Il tipo di socket passato. Sarà
tcp
oudp
.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Proprietà
-
max
stringa facoltativa
-
min
stringa facoltativa
Le versioni TLS minime e massime accettabili. I valori supportati sono
tls1.2
otls1.3
.I valori
tls1
etls1.1
non sono più supportati. Semin
è impostato su uno di questi valori, verrà bloccato in silenzio sutls1.2
. Semax
è impostato su uno di questi valori o su qualsiasi altro valore non riconosciuto, verrà ignorato senza alcun messaggio.
WriteInfo
Proprietà
-
bytesWritten
numero
Il numero di byte inviati o un codice di errore negativo.
Metodi
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Questo metodo si applica solo alle socket TCP. Registra una funzione di callback da chiamare quando viene accettata una connessione su questo socket del server in ascolto. Devi prima chiamare Listen. Se è già presente un callback di accettazione attivo, questo verrà richiamato immediatamente con un errore come resultCode.
Parametri
-
socketId
numero
L'ID socket.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Associa l'indirizzo locale per la socket. Al momento non supporta la socket TCP.
Parametri
-
socketId
numero
L'ID socket.
-
indirizzo
stringa
L'indirizzo della macchina locale.
-
porta
numero
La porta della macchina locale.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Collega la presa alla macchina remota (per una presa tcp
). Per una socket udp
, viene impostato l'indirizzo predefinito a cui vengono inviati e da cui vengono letti i pacchetti per le chiamate read()
e write()
.
Parametri
-
socketId
numero
L'ID socket.
-
nome host
stringa
Il nome host o l'indirizzo IP della macchina remota.
-
porta
numero
La porta del computer remoto.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Crea una presa del tipo specificato che si connetterà alla macchina remota specificata.
Parametri
-
tipo
Il tipo di socket da creare. Deve essere
tcp
oudp
. -
opzioni
CreateOptions facoltativo
Le opzioni di socket.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
-
Resi
-
Promise<CreateInfo>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
destroy()
chrome.socket.destroy(
socketId: number,
)
Distruisce la presa. Ogni socket creato deve essere distrutto dopo l'uso.
Parametri
-
socketId
numero
L'ID socket.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Scollega la presa. Per le socket UDP, disconnect
è un'operazione non valida, ma è possibile chiamarla in sicurezza.
Parametri
-
socketId
numero
L'ID socket.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato della presa specificata.
Parametri
-
socketId
numero
L'ID socket.
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: SocketInfo) => void
-
risultato
-
Resi
-
Promise<SocketInfo>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Recupera gli indirizzi del gruppo multicast a cui è attualmente connesso il socket.
Parametri
-
socketId
numero
L'ID socket.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(groups: string[]) => void
-
gruppi
stringa[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Recupera le informazioni sugli adattatori locali su questo sistema.
Parametri
-
callback
function facoltativa
Il parametro
callback
ha il seguente aspetto:(result: NetworkInterface[]) => void
-
risultato
-
Resi
-
Promise<NetworkInterface[]>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Unisciti al gruppo multicast e inizia a ricevere pacchetti da quel gruppo. La socket deve essere di tipo UDP e deve essere associata a una porta locale prima di chiamare questo metodo.
Parametri
-
socketId
numero
L'ID socket.
-
indirizzo
stringa
L'indirizzo del gruppo a cui vuoi partecipare. I nomi di dominio non sono supportati.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Esci dal gruppo multicast a cui hai aderito in precedenza utilizzando joinGroup
. Non è necessario uscire dal gruppo multicast prima di distruggere la presa o uscire. Viene chiamato automaticamente dal sistema operativo.
L'abbandono del gruppo impedirà al router di inviare datagrammi multicast all'host locale, supponendo che nessun altro processo sull'host sia ancora unito al gruppo.
Parametri
-
socketId
numero
L'ID socket.
-
indirizzo
stringa
L'indirizzo del gruppo da abbandonare. I nomi di dominio non sono supportati.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Questo metodo si applica solo alle socket TCP. Ascolta le connessioni sulla porta e sull'indirizzo specificati. Di fatto, si tratta di un socket server e le funzioni del socket client (connect, read, write) non possono più essere utilizzate su questo socket.
Parametri
-
socketId
numero
L'ID socket.
-
indirizzo
stringa
L'indirizzo della macchina locale.
-
porta
numero
La porta della macchina locale.
-
backlog
number facoltativo
Lunghezza della coda di ascolto del socket.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Legge i dati dalla presa collegata specificata.
Parametri
-
socketId
numero
L'ID socket.
-
bufferSize
number facoltativo
La dimensione del buffer di lettura.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Riceve i dati dalla socket UDP specificata.
Parametri
-
socketId
numero
L'ID socket.
-
bufferSize
number facoltativo
La dimensione del buffer di ricezione.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Avvia una connessione client TLS su una socket client TCP connessa.
Parametri
-
socketId
numero
La presa collegata da utilizzare.
-
opzioni
SecureOptions facoltativo
Limiti e parametri per la connessione TLS.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Invia i dati sulla porta UDP specificata all'indirizzo e alla porta specificati.
Parametri
-
socketId
numero
L'ID socket.
-
dati
ArrayBuffer
I dati da scrivere.
-
indirizzo
stringa
L'indirizzo della macchina remota.
-
porta
numero
La porta del computer remoto.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Attiva o disattiva la funzionalità keep-alive per una connessione TCP.
Parametri
-
socketId
numero
L'ID socket.
-
attiva
booleano
Se true, abilita la funzionalità keep-alive.
-
delay
number facoltativo
Imposta il ritardo in secondi 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: boolean) => void
-
risultato
booleano
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Imposta se i pacchetti multicast inviati dall'host al gruppo multicast verranno inoltrati all'host.
Nota: il comportamento di setMulticastLoopbackMode
è leggermente diverso tra i sistemi Windows e Unix-like. L'incongruenza si verifica solo quando sono presenti più applicazioni sullo stesso host unite allo stesso gruppo multicast, ma con impostazioni diverse per la modalità di loopback multicast. Su Windows, le applicazioni con il loopback disattivato non RICEVERANNO i pacchetti loopback, mentre sui sistemi Unix-like le applicazioni con il loopback disattivato non INVIERANNO i pacchetti loopback ad altre applicazioni sullo stesso host. Consulta MSDN: http://goo.gl/6vqbj
La chiamata di questo metodo non richiede autorizzazioni di multicast.
Parametri
-
socketId
numero
L'ID socket.
-
abilitata
booleano
Indica se attivare la modalità di loopback.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Imposta la durata (TTL) dei pacchetti multicast inviati al gruppo multicast.
La chiamata di questo metodo non richiede autorizzazioni di multicast.
Parametri
-
socketId
numero
L'ID socket.
-
ttl
numero
Il valore TTL.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: number) => void
-
risultato
numero
-
setNoDelay()
chrome.socket.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 TCP_NODELAY
.
Parametri
-
socketId
numero
L'ID socket.
-
noDelay
booleano
Se true, disattiva l'algoritmo di Nagle.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
booleano
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Scrive i dati sulla presa connessa specificata.