Descrizione
Utilizza l'API chrome.sockets.udp per inviare e ricevere dati sulla rete utilizzando connessioni UDP. Questa API sostituisce la funzionalità UDP precedentemente presente nell'API "socket".
Manifest
Tipi
CreateInfo
Proprietà
- 
    socketIdnumero 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, ad esempio l'API [socket](../socket/)ritirata.
DnsQueryType
Preferenze di risoluzione DNS. Il valore predefinito è any e utilizza la configurazione OS Config corrente, che può restituire IPv4 o IPv6. ipv4 forza IPv4 e ipv6 forza IPv6.
Enum
"any" 
 
"ipv4" 
 
"ipv6" 
 
ReceiveErrorInfo
Proprietà
- 
    resultCodenumero Il codice risultato restituito dalla chiamata recvfrom() sottostante. 
- 
    socketIdnumero L'ID del socket. 
ReceiveInfo
Proprietà
- 
    datiArrayBuffer Il contenuto del pacchetto UDP (troncato alla dimensione attuale del buffer). 
- 
    remoteAddressstringa L'indirizzo dell'host da cui proviene il pacchetto. 
- 
    remotePortnumero La porta dell'host da cui proviene il pacchetto. 
- 
    socketIdnumero L'ID del socket. 
SendInfo
Proprietà
- 
    bytesSentnumber (facoltativo) Il numero di byte inviati (se result == 0) 
- 
    resultCodenumero Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
SocketInfo
Proprietà
- 
    bufferSizenumber (facoltativo) La dimensione del buffer utilizzato per ricevere i dati. Se non è stata specificata esplicitamente alcuna dimensione del buffer, il valore non viene fornito. 
- 
    localAddressstringa facoltativa Se il socket sottostante è associato, contiene il suo indirizzo IPv4/6 locale. 
- 
    localPortnumber (facoltativo) Se il socket sottostante è associato, contiene la porta locale. 
- 
    nomestringa facoltativa Stringa definita dall'applicazione associata al socket. 
- 
    in pausabooleano Flag che indica se il socket è bloccato dall'attivazione degli eventi onReceive. 
- 
    persistentebooleano Flag che indica se il socket viene lasciato aperto quando l'applicazione viene sospesa (vedi SocketProperties.persistent).
- 
    socketIdnumero L'identificatore del socket. 
SocketProperties
Proprietà
- 
    bufferSizenumber (facoltativo) La dimensione del buffer utilizzato per ricevere i dati. Se il buffer è troppo piccolo per ricevere il pacchetto UDP, i dati vengono persi. Il valore predefinito è 4096. 
- 
    nomestringa facoltativa Una stringa definita dall'applicazione associata al socket. 
- 
    persistentebooleano facoltativo Flag che indica se il socket viene lasciato aperto quando la pagina dell'evento dell'applicazione viene scaricata (vedi Gestire il ciclo di vita dell'app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutti i socket aperti in precedenza con persistent=true possono essere recuperati con getSockets.
Metodi
bind()
chrome.sockets.udp.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Associa l'indirizzo e la porta locali al socket. Per un socket client, è consigliabile utilizzare la porta 0 per consentire alla piattaforma di scegliere una porta libera.
Una volta completata correttamente l'operazione bind, vengono generati eventi onReceive quando i pacchetti UDP arrivano all'indirizzo/porta specificato, a meno che il socket non sia in pausa.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    indirizzostringa L'indirizzo della macchina locale. Sono supportati i formati nome DNS, IPv4 e IPv6. Utilizza "0.0.0.0" per accettare pacchetti da tutte le interfacce di rete locali disponibili. 
- 
    portanumero La porta della macchina locale. Utilizza "0" per eseguire il binding a una porta libera. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
 
- 
    
close()
chrome.sockets.udp.close(
socketId: number,
callback?: function,
): Promise<void>
Chiude il socket e rilascia l'indirizzo/la porta a cui è associato. 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
- 
    socketIdnumero L'ID del socket. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
create()
chrome.sockets.udp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Crea un socket UDP con le proprietà specificate.
Parametri
- 
    proprietàSocketProperties facoltativo Le proprietà del socket (facoltative). 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(createInfo: CreateInfo) => void - 
    createInfoIl risultato della creazione del socket. 
 
- 
    
Resi
- 
            Promise<CreateInfo> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getInfo()
chrome.sockets.udp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Recupera lo stato del socket specificato.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(socketInfo: SocketInfo) => void - 
    socketInfoOggetto contenente le informazioni sul socket. 
 
- 
    
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.sockets.udp.getJoinedGroups(
socketId: number,
callback?: function,
): Promise<string[]>
Recupera gli indirizzi del gruppo multicast a cui è attualmente unito il socket.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(groups: string[]) => void - 
    gruppistring[] Array di gruppi a cui è stato aggiunto il socket. 
 
- 
    
Resi
- 
            Promise<string[]> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getSockets()
chrome.sockets.udp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Recupera l'elenco dei socket attualmente aperti di proprietà dell'applicazione.
Parametri
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(socketInfos: SocketInfo[]) => void - 
    socketInfosArray di oggetti contenenti informazioni sul socket. 
 
- 
    
Resi
- 
            Promise<SocketInfo[]> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
joinGroup()
chrome.sockets.udp.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Entra nel gruppo multicast e inizia a ricevere pacchetti da quel gruppo. Il socket deve essere associato a una porta locale prima di chiamare questo metodo.
Parametri
- 
    socketIdnumero L'ID del 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 Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
 
- 
    
leaveGroup()
chrome.sockets.udp.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Abbandona il gruppo multicast a cui è stato eseguito l'accesso in precedenza utilizzando joinGroup. Questa operazione è necessaria solo se prevedi di continuare a utilizzare il socket in seguito, poiché verrà eseguita automaticamente dal sistema operativo quando il socket viene chiuso.
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 del 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 Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
 
- 
    
send()
chrome.sockets.udp.send(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Invia i dati sul socket specificato all'indirizzo e alla porta specificati. Il socket deve essere associato a una porta locale prima di chiamare questo metodo.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    datiArrayBuffer I dati da inviare. 
- 
    indirizzostringa L'indirizzo della macchina remota. 
- 
    portanumero La porta del computer remoto. 
- 
    dnsQueryTypeDnsQueryType facoltativo Chrome 103+La preferenza di risoluzione degli indirizzi. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(sendInfo: SendInfo) => void - 
    sendInfoRisultato del metodo send.
 
- 
    
setBroadcast()
chrome.sockets.udp.setBroadcast(
socketId: number,
enabled: boolean,
callback: function,
): void
Attiva o disattiva i pacchetti di trasmissione su questo socket.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    attivatobooleano trueper attivare i pacchetti di trasmissione,falseper disattivarli.
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero Il codice risultato restituito dalla chiamata di rete sottostante. 
 
- 
    
setMulticastLoopbackMode()
chrome.sockets.udp.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Specifica 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 del socket. 
- 
    attivatobooleano Indica se attivare la modalità loopback. 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
 
- 
    
setMulticastTimeToLive()
chrome.sockets.udp.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Imposta il time-to-live dei pacchetti multicast inviati al gruppo multicast.
La chiamata di questo metodo non richiede autorizzazioni multicast.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    ttlnumero Il valore di Durata (TTL). 
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(result: number) => void - 
    risultatonumero Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore. 
 
- 
    
setPaused()
chrome.sockets.udp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Mette in pausa o riattiva una presa. Un socket in pausa non può attivare eventi onReceive.
Parametri
- 
    socketIdnumero 
- 
    in pausabooleano Flag che indica se mettere in pausa o riattivare. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
update()
chrome.sockets.udp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Aggiorna le proprietà del socket.
Parametri
- 
    socketIdnumero L'ID del socket. 
- 
    proprietàLe proprietà da aggiornare. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 121+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
Eventi
onReceive
chrome.sockets.udp.onReceive.addListener(
callback: function,
)
Evento generato quando è stato ricevuto un pacchetto UDP per il socket specificato.
Parametri
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(info: ReceiveInfo) => void - 
    informazioni
 
- 
    
onReceiveError
chrome.sockets.udp.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 messo in pausa e non verranno generati altri eventi onReceive per questo socket finché non viene riattivato.
Parametri
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(info: ReceiveErrorInfo) => void - 
    informazioni
 
-