Descrizione
Utilizza l'API chrome.socket
per inviare e ricevere dati sulla rete tramite 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, i valori sono in genere "eth0", "lo" e così via.
-
prefixLength
numero
La lunghezza del prefisso
ReadInfo
Proprietà
-
dati
ArrayBuffer
-
resultCode
numero
Il risultato restituito dalla chiamata read() sottostante.
RecvFromInfo
Proprietà
-
indirizzo
stringa
L'indirizzo della macchina remota.
-
dati
ArrayBuffer
-
porta
numero
-
resultCode
numero
Il risultato restituito dalla chiamata recvfrom() sottostante.
SecureOptions
Proprietà
-
tlsVersion
TLSVersionConstraints facoltativo
SocketInfo
Proprietà
-
connesso
booleano
Se il socket sottostante è connesso o meno.
Per i socket
tcp
, questo rimarrà vero anche se il peer remoto si è disconnesso. La lettura o la scrittura sul socket potrebbe quindi causare un errore, che indica che il socket deve essere disconnesso tramitedisconnect()
.Per i socket
udp
, si tratta solo di indicare se è stato specificato un indirizzo remoto predefinito per la lettura e la scrittura dei pacchetti. -
localAddress
stringa facoltativo
Se il socket sottostante è collegato o connesso, contiene il suo indirizzo IPv4/6 locale.
-
localPort
numero facoltativo
Se il socket sottostante è collegato o connesso, contiene la sua 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. 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.
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 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. Al momento, non supporta il socket TCP.
Parametri
-
socketId
numero
Il 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 alla macchina remota (per una presa tcp
). Per un socket udp
, consente di impostare l'indirizzo predefinito a cui vengono inviati e letti i pacchetti per le chiamate read()
e write()
.
Parametri
-
socketId
numero
Il 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 connetterà alla macchina remota specificata.
Parametri
-
tipo
Il tipo di socket da creare. Deve essere
tcp
oudp
. -
opzioni
CreateOptions facoltativo
Le opzioni del socket.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(createInfo: CreateInfo) => void
-
createInfo
-
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.
destroy()
chrome.socket.destroy(
socketId: number,
)
Distrugge il socket. Ogni socket creato deve essere eliminato dopo l'uso.
Parametri
-
socketId
numero
Il socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Disconnette la presa. Per i socket UDP, disconnect
non è operativo, ma è sicuro chiamare.
Parametri
-
socketId
numero
Il socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Recupera lo stato del socket specificato.
Parametri
-
socketId
numero
Il socketId.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: SocketInfo) => void
-
risultato
-
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.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Ottieni gli indirizzi di gruppo multicast a cui è attualmente unito il socket.
Parametri
-
socketId
numero
Il socketId.
-
callback
funzione
Il parametro
callback
ha il seguente aspetto:(groups: string[]) => void
-
gruppi
stringa[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Recupera informazioni sugli adattatori locali su questo sistema.
Parametri
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:(result: NetworkInterface[]) => void
-
risultato
-
Resi
-
Promise<NetworkInterface[]>
Chrome 121 e versioni successive .Le 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 riceverne i pacchetti. Il socket deve essere di tipo UDP e deve essere associato a una porta locale prima di chiamare questo metodo.
Parametri
-
socketId
numero
Il socketId.
-
indirizzo
stringa
L'indirizzo del gruppo a cui 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,
)
Abbandona il gruppo multicast precedentemente unito utilizzando joinGroup
. Non è necessario abbandonare il gruppo multicast prima di eliminare il socket o uscire. Viene chiamato automaticamente dal sistema operativo.
Lasciando il gruppo, il router non potrà inviare datagrammi multicast all'host locale, presupponendo che nessun altro processo dell'host sia ancora unito al gruppo.
Parametri
-
socketId
numero
Il socketId.
-
indirizzo
stringa
L'indirizzo del gruppo da cui uscire. 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. Rimane in ascolto delle connessioni sulla porta e sull'indirizzo specificati. In questo modo, si tratta di un socket del server e le funzioni socket client (connessione, lettura, scrittura) non possono più essere utilizzate in questo socket.
Parametri
-
socketId
numero
Il 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 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 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 del client TCP connesso.
Parametri
-
socketId
numero
La presa connessa 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 specificato all'indirizzo e alla porta specificati.
Parametri
-
socketId
numero
Il 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 socketId.
-
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: boolean) => void
-
risultato
booleano
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Specifica 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 i sistemi simili a Windows e Unix. L'incoerenza si verifica solo quando più applicazioni sullo stesso host sono state unite allo stesso gruppo multicast pur avendo impostazioni diverse nella modalità di loopback multicast. Su Windows, le applicazioni con il loopback disattivato non RICEVEranno i pacchetti di loopback; mentre su sistemi simili a Unix, le applicazioni con loopback disattivato non INVIARE i pacchetti di loopback ad altre applicazioni sullo stesso host. Vedi MSDN: http://goo.gl/6vqbj
La chiamata di questo metodo non richiede le autorizzazioni multicast.
Parametri
-
socketId
numero
Il socketId.
-
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 dei pacchetti multicast inviati al gruppo multicast.
La chiamata di questo metodo non richiede le autorizzazioni multicast.
Parametri
-
socketId
numero
Il socketId.
-
ttl
numero
Il valore durata (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 il criterio TCP_NODELAY
.
Parametri
-
socketId
numero
Il socketId.
-
noDelay
booleano
Se impostato su true, disabilita 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 sul socket connesso specificato.