Descrizione
Utilizza l'API chrome.socket
per inviare e ricevere dati sulla rete con connessioni TCP e UDP. Nota: a partire da Chrome 33, questa API è stata ritirata e sostituita dalle API sockets.udp
, sockets.tcp
e sockets.tcpServer
.
Autorizzazioni
socket
Tipi
AcceptInfo
Proprietà
-
resultCode
numero
-
socketId
numero facoltativo
L'ID del socket accettato.
CreateInfo
Proprietà
-
socketId
numero
L'ID del socket appena creato.
CreateOptions
NetworkInterface
Proprietà
-
indirizzo
stringa
L'indirizzo IPv4/6 disponibile.
-
nome
stringa
Il nome sottostante dell'adattatore. Su *nix, in genere è "eth0", "lo" e così via.
-
prefixLength
numero
La lunghezza del prefisso
ReadInfo
Proprietà
-
dati
ArrayBuffer
-
resultCode
numero
Il risultatoCode 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
boolean
Indica se il socket sottostante è connesso o meno.
Per i socket
tcp
, questo comportamento rimane valido anche se il peer remoto si è disconnesso. La lettura o la scrittura nel socket potrebbe causare un errore, a indicare che il socket deve essere disconnesso tramitedisconnect()
.Per i socket
udp
, rappresenta semplicemente se è stato specificato un indirizzo remoto predefinito per la lettura e la scrittura dei pacchetti. -
localAddress
stringa facoltativo
Se il socket sottostante è associato o connesso, contiene il suo indirizzo IPv4/6 locale.
-
localPort
numero facoltativo
Se il socket sottostante è associato o connesso, contiene la porta locale.
-
peerAddress
stringa facoltativo
Se il socket sottostante è connesso, contiene l'indirizzo IPv4/6 del peer.
-
peerPort
numero facoltativo
Se il socket sottostante è connesso, contiene la porta del peer connesso.
-
socketType
Il tipo di socket passato. Sarà
tcp
oudp
.
SocketType
Enum
"tcp"
"udp"
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. Semin
è impostato su uno di questi valori, verrà bloccato automaticamente sutls1.2
. Semax
è impostato su uno di questi valori o su qualsiasi altro valore non riconosciuto, verrà ignorato automaticamente.
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 ai socket TCP. Registra una funzione di callback da chiamare quando viene accettata una connessione su questo socket del server di ascolto. Devi prima chiamare l'ascolto. Se è già presente un callback di accettazione attivo, questo callback verrà richiamato immediatamente con un errore come resultCode.
Parametri
-
socketId
numero
Il valore socketId.
-
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 il socket. Attualmente, non supporta il socket TCP.
Parametri
-
socketId
numero
Il valore socketId.
-
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 all'apparecchio remoto (per una presa tcp
). Per un socket udp
, imposta l'indirizzo predefinito a cui vengono inviati e da cui vengono letti i pacchetti per le chiamate read()
e write()
.
Parametri
-
socketId
numero
Il valore socketId.
-
nome host
stringa
Il nome host o l'indirizzo IP della macchina remota.
-
porta
numero
La porta della macchina remota.
-
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 un socket del tipo specificato che si collegherà alla macchina remota specificata.
Parametri
-
tipo
Il tipo di socket da creare. Deve essere
tcp
oudp
. -
opzioni
CreateOptions facoltativo
Le opzioni relative al socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
-
Ritorni
-
Promise<CreateInfo>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
destroy()
chrome.socket.destroy(
socketId: number,
)
Distrugge il socket. Ogni socket creato deve essere eliminato dopo l'utilizzo.
Parametri
-
socketId
numero
Il valore socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Disconnette la presa. Per i socket UDP, disconnect
non è operativo, ma può essere chiamato in sicurezza.
Parametri
-
socketId
numero
Il valore socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato del socket specificato.
Parametri
-
socketId
numero
Il valore socketId.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: SocketInfo) => void
-
risultato
-
Ritorni
-
Promise<SocketInfo>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; altre piattaforme devono utilizzare i callback.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Recupera gli indirizzi del gruppo multicast a cui è attualmente associato il socket.
Parametri
-
socketId
numero
Il valore socketId.
-
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
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: NetworkInterface[]) => void
-
risultato
-
Ritorni
-
Promise<NetworkInterface[]>
Chrome 121 e versioni successiveLe promesse sono supportate solo per Manifest V3 e versioni successive; 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. Il socket deve essere di tipo UDP e deve essere associato a una porta locale prima di chiamare questo metodo.
Parametri
-
socketId
numero
Il valore socketId.
-
indirizzo
stringa
L'indirizzo del gruppo a cui unirti. 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,
)
Abbandona il gruppo multicast a cui si è unito in precedenza utilizzando joinGroup
. Non è necessario uscire dal gruppo multicast prima di distruggere il socket o di uscire. Questa chiamata viene richiamata automaticamente dal sistema operativo.
Se esci dal gruppo, il router non potrà inviare datagrammi multicast all'host locale, presupposto che nessun altro processo dell'host sia ancora unito al gruppo.
Parametri
-
socketId
numero
Il valore socketId.
-
indirizzo
stringa
L'indirizzo del gruppo in cui lasciare. 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 ai socket TCP. Ascolta le connessioni sulla porta e sull'indirizzo specificati. In questo modo, si rende un socket server e le funzioni socket client (connessione, lettura, scrittura) non possono più essere utilizzate su questo socket.
Parametri
-
socketId
numero
Il valore socketId.
-
indirizzo
stringa
L'indirizzo della macchina locale.
-
porta
numero
La porta della macchina locale.
-
arretrato
numero 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 dal socket connesso specificato.
Parametri
-
socketId
numero
Il valore socketId.
-
bufferSize
numero 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 dal socket UDP specificato.
Parametri
-
socketId
numero
Il valore socketId.
-
bufferSize
numero 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 un socket client TCP connesso.
Parametri
-
socketId
numero
La presa collegata 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
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Invia i dati sul socket UDP indicati all'indirizzo e alla porta indicati.
Parametri
-
socketId
numero
Il valore socketId.
-
dati
ArrayBuffer
I dati da scrivere.
-
indirizzo
stringa
L'indirizzo della macchina remota.
-
porta
numero
La porta della macchina remota.
-
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
Il valore socketId.
-
enable
boolean
Se il valore è true, abilita la funzionalità keep-alive.
-
delay
numero 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
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Consente di stabilire se i pacchetti multicast inviati dall'host al gruppo multicast devono essere restituiti in loop all'host.
Nota: il comportamento di setMulticastLoopbackMode
è leggermente diverso tra Windows e sistemi simili a Unix. L'incoerenza si verifica solo quando più di un'applicazione sullo stesso host è unita allo stesso gruppo multicast e hanno impostazioni diverse per la modalità loopback multicast. Su Windows, le applicazioni con loopback disattivato non RICEVERE i pacchetti di loopback; mentre sui sistemi Unix-like, le applicazioni con loopback disattivato non INVIAno i pacchetti di loopback ad altre applicazioni sullo stesso host. Vedi MSDN: http://goo.gl/6vqbj
La chiamata di questo metodo non richiede autorizzazioni multicast.
Parametri
-
socketId
numero
Il valore socketId.
-
abilitata
boolean
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 dei pacchetti multicast inviati al gruppo multicast.
La chiamata di questo metodo non richiede autorizzazioni multicast.
Parametri
-
socketId
numero
Il valore socketId.
-
ttl
numero
Il valore della durata.
-
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 se verrà impostato TCP_NODELAY
.
Parametri
-
socketId
numero
Il valore socketId.
-
noDelay
boolean
Se il valore è true, viene disattivato l'algoritmo di Nagle.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(result: boolean) => void
-
risultato
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Scrive i dati sul socket connesso specificato.