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 è ritirata a favore delle API sockets.udp, sockets.tcp e sockets.tcpServer.
Autorizzazioni
socketTipi
AcceptInfo
Proprietà
- 
    resultCodenumero 
- 
    socketIdnumber (facoltativo) L'ID del socket accettato. 
CreateInfo
Proprietà
- 
    socketIdnumero L'ID del socket appena creato. 
CreateOptions
NetworkInterface
Proprietà
- 
    indirizzostringa L'indirizzo IPv4/6 disponibile. 
- 
    nomestringa Il nome sottostante dell'adattatore. Su *nix, in genere è "eth0", "lo" e così via. 
- 
    prefixLengthnumero La lunghezza del prefisso 
ReadInfo
Proprietà
- 
    datiArrayBuffer 
- 
    resultCodenumero Il resultCode restituito dalla chiamata read() sottostante. 
RecvFromInfo
Proprietà
- 
    indirizzostringa L'indirizzo della macchina remota. 
- 
    datiArrayBuffer 
- 
    portanumero 
- 
    resultCodenumero Il resultCode restituito dalla chiamata recvfrom() sottostante. 
SecureOptions
Proprietà
- 
    tlsVersionTLSVersionConstraints facoltativo 
SocketInfo
Proprietà
- 
    connessobooleano 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 generare un errore, suggerendo che questo socket deve essere disconnesso tramitedisconnect().Per i socket udp, questo indica solo se è stato specificato un indirizzo remoto predefinito per la lettura e la scrittura dei pacchetti.
- 
    localAddressstringa facoltativa Se il socket sottostante è associato o connesso, contiene il suo indirizzo IPv4/6 locale. 
- 
    localPortnumber (facoltativo) Se il socket sottostante è associato o connesso, contiene la porta locale. 
- 
    peerAddressstringa facoltativa Se il socket sottostante è connesso, contiene l'indirizzo IPv4/6 del peer. 
- 
    peerPortnumber (facoltativo) Se il socket sottostante è connesso, contiene la porta del peer connesso. 
- 
    socketTypeIl tipo di socket passato. Sarà tcpoudp.
SocketType
Enum
"tcp" 
 
"udp" 
 
TLSVersionConstraints
Proprietà
- 
    maxstringa facoltativa 
- 
    minstringa facoltativa Le versioni minima e massima accettabili di TLS. I valori supportati sono tls1.2otls1.3.I valori tls1etls1.1non 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à
- 
    bytesWrittennumero Il numero di byte inviati o un codice di errore negativo. 
Metodi
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
Questo metodo si applica solo ai socket TCP. Registra una funzione di callback da chiamare quando una connessione viene accettata su questo socket del server in ascolto. Listen deve essere chiamato per primo. Se esiste già un callback di accettazione attivo, questo callback verrà richiamato immediatamente con un errore come resultCode.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(acceptInfo: AcceptInfo) => void - 
    acceptInfo
 
- 
    
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Associa l'indirizzo locale al socket. Al momento non supporta il socket TCP.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    indirizzostringa L'indirizzo della macchina locale. 
- 
    portanumero La porta della macchina locale. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Collega il socket alla macchina remota (per un socket tcp). Per un socket udp, questa impostazione definisce l'indirizzo predefinito a cui vengono inviati e da cui vengono letti i pacchetti per le chiamate read() e write().
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    nome hoststringa Il nome host o l'indirizzo IP della macchina remota. 
- 
    portanumero La porta del computer remoto. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Crea un socket del tipo specificato che si connetterà alla macchina remota specificata.
Parametri
- 
    tipoIl tipo di socket da creare. Deve essere tcpoudp.
- 
    opzioniCreateOptions (facoltativo) Opzioni del socket. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(createInfo: CreateInfo) => void - 
    createInfo
 
- 
    
Resi
- 
            Promise<CreateInfo> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
destroy()
chrome.socket.destroy(
socketId: number,
): void
Elimina il socket. Ogni socket creato deve essere eliminato dopo l'uso.
Parametri
- 
    socketIdnumero L'ID socket. 
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Scollega la presa. Per i socket UDP, disconnect è una non operazione, ma è sicuro chiamarla.
Parametri
- 
    socketIdnumero L'ID socket. 
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Recupera lo stato del socket specificato.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(result: SocketInfo) => void - 
    risultato
 
- 
    
Resi
- 
            Promise<SocketInfo> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Recupera gli indirizzi del gruppo multicast a cui è attualmente unito il socket.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(groups: string[]) => void - 
    gruppistring[] 
 
- 
    
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Recupera informazioni sugli adattatori locali su questo sistema.
Parametri
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(result: NetworkInterface[]) => void - 
    risultato
 
- 
    
Resi
- 
            Promise<NetworkInterface[]> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
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
- 
    socketIdnumero L'ID socket. 
- 
    indirizzostringa L'indirizzo del gruppo a cui vuoi unirti. I nomi di dominio non sono supportati. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Abbandona il gruppo di multicast a cui hai partecipato in precedenza utilizzando joinGroup. Non è necessario uscire dal gruppo di multicast prima di eliminare il socket o uscire. Viene chiamato automaticamente dal sistema operativo.
L'uscita dal gruppo impedisce al router di inviare datagrammi multicast all'host locale, supponendo che nessun altro processo sull'host sia ancora unito al gruppo.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    indirizzostringa L'indirizzo del gruppo da abbandonare. I nomi di dominio non sono supportati. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
): void
Questo metodo si applica solo ai socket TCP. Ascolta le connessioni sulla porta e sull'indirizzo specificati. In questo modo, questo diventa un socket server e le funzioni del socket client (connessione, lettura, scrittura) non possono più essere utilizzate su questo socket.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    indirizzostringa L'indirizzo della macchina locale. 
- 
    portanumero La porta della macchina locale. 
- 
    backlognumber (facoltativo) Lunghezza della coda di ascolto del socket. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Legge i dati dal socket connesso specificato.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    bufferSizenumber (facoltativo) La dimensione del buffer di lettura. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(readInfo: ReadInfo) => void - 
    readInfo
 
- 
    
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Riceve i dati dal socket UDP specificato.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    bufferSizenumber (facoltativo) La dimensione del buffer di ricezione. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(recvFromInfo: RecvFromInfo) => void - 
    recvFromInfo
 
- 
    
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Avvia una connessione client TLS su un socket client TCP connesso.
Parametri
- 
    socketIdnumero La presa connessa da utilizzare. 
- 
    opzioniSecureOptions facoltativo Vincoli e parametri per la connessione TLS. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
): void
Invia dati sul socket UDP specificato all'indirizzo e alla porta specificati.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    datiArrayBuffer I dati da scrivere. 
- 
    indirizzostringa L'indirizzo della macchina remota. 
- 
    portanumero La porta del computer remoto. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(writeInfo: WriteInfo) => void - 
    writeInfo
 
- 
    
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Attiva o disattiva la funzionalità keep-alive per una connessione TCP.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    attivabooleano Se true, attiva la funzionalità keep-alive. 
- 
    delaynumber (facoltativo) Imposta i secondi di ritardo tra l'ultimo pacchetto di dati ricevuto e il primo probe keepalive. Il valore predefinito è 0. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: boolean) => void - 
    risultatobooleano 
 
- 
    
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Imposta se i pacchetti multicast inviati dall'host al gruppo multicast verranno reindirizzati all'host.
Nota: il comportamento di setMulticastLoopbackMode è leggermente diverso tra Windows e i sistemi di tipo Unix. L'incoerenza si verifica solo quando più di un'applicazione sullo stesso host è unita allo stesso gruppo multicast con impostazioni diverse per la modalità di loopback multicast. Su Windows, le applicazioni con il loopback disattivato non RICEVERANNO i pacchetti di loopback, mentre sui sistemi di tipo Unix, le applicazioni con il loopback disattivato non INVIERANNO i pacchetti di loopback ad altre applicazioni sullo stesso host. Vedi MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2
La chiamata di questo metodo non richiede autorizzazioni multicast.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    attivatobooleano Indica se attivare la modalità loopback. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Imposta la durata (TTL) dei pacchetti multicast inviati al gruppo multicast.
La chiamata di questo metodo non richiede autorizzazioni multicast.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    ttlnumero Il valore di Durata (TTL). 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero 
 
- 
    
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Imposta o cancella TCP_NODELAY per una connessione TCP. L'algoritmo di Nagle verrà disattivato quando viene impostato TCP_NODELAY.
Parametri
- 
    socketIdnumero L'ID socket. 
- 
    noDelaybooleano Se true, disattiva l'algoritmo di Nagle. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: boolean) => void - 
    risultatobooleano 
 
- 
    
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Scrive i dati sul socket connesso specificato.