chrome.sockets.tcp

Descrizione

Utilizza l'API chrome.sockets.tcp per inviare e ricevere dati sulla rete tramite connessioni TCP. Questa API sostituisce la funzionalità TCP in precedenza presente nell'API chrome.socket.

Manifest

Per utilizzare questa API, le seguenti chiavi devono essere dichiarate nel manifest.

"sockets"

Tipi

CreateInfo

Proprietà

  • socketId

    numero

    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, come l'API [socket](../socket/) deprecata.

DnsQueryType

Chrome 103 e versioni successive .

Preferenze di risoluzione DNS. Il valore predefinito è any e utilizza l'attuale configurazione del sistema operativo, che potrebbe restituire IPv4 o IPv6. ipv4 forza IPv4, mentre ipv6 forza IPv6.

Enum

"qualsiasi"

"ipv4"

"ipv6"

ReceiveErrorInfo

Proprietà

  • resultCode

    numero

    Il codice risultato restituito dalla chiamata di rete sottostante.

  • socketId

    numero

    L'identificatore del socket.

ReceiveInfo

Proprietà

  • dati

    ArrayBuffer

    I dati ricevuti, con una dimensione massima di bufferSize.

  • socketId

    numero

    L'identificatore del socket.

SecureOptions

Proprietà

SendInfo

Proprietà

  • bytesSent

    numero facoltativo

    Il numero di byte inviati (se il risultato è == 0)

  • resultCode

    numero

    Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.

SocketInfo

Proprietà

  • bufferSize

    numero facoltativo

    La dimensione del buffer utilizzato per ricevere i dati. Se non è stata specificata esplicitamente alcuna dimensione del buffer, il valore non viene fornito.

  • connesso

    booleano

    Flag che indica se il socket è connesso a un peer remoto.

  • localAddress

    stringa facoltativo

    Se il socket sottostante è connesso, contiene il suo indirizzo IPv4/6 locale.

  • localPort

    numero facoltativo

    Se il socket sottostante è connesso, contiene la sua porta locale.

  • nome

    stringa facoltativo

    Stringa definita dall'applicazione associata al socket.

  • in pausa

    booleano

    Flag che indica se un socket connesso impedisce al peer di inviare più dati (vedi setPaused).

  • peerAddress

    stringa facoltativo

    Se il socket sottostante è connesso, contiene l'indirizzo peer/ IPv4/6.

  • peerPort

    numero facoltativo

    Se il socket sottostante è connesso, contiene la porta peer.

  • persistente

    booleano

    Flag che indica se il socket viene lasciato aperto quando l'applicazione viene sospesa (vedi SocketProperties.persistent).

  • socketId

    numero

    L'identificatore del socket.

SocketProperties

Proprietà

  • bufferSize

    numero facoltativo

    La dimensione del buffer utilizzato per ricevere i dati. Il valore predefinito è 4096.

  • nome

    stringa facoltativo

    Una stringa definita dall'applicazione associata al socket.

  • persistente

    booleano facoltativo

    Flag che indica se il socket viene lasciato aperto quando viene eseguito l'unload della pagina degli eventi dell'applicazione (vedi Gestione del ciclo di vita delle app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutti i socket aperti in precedenza con permanente=true possono essere recuperati con getSockets.

TLSVersionConstraints

Proprietà

  • max

    stringa facoltativo

  • min

    stringa facoltativo

    Le versioni minime e massime accettabili di TLS. I valori supportati sono tls1.2 o tls1.3.

    I valori tls1 e tls1.1 non sono più supportati. Se il valore min viene impostato su uno di questi valori, verrà bloccato automaticamente su tls1.2. Se il criterio max viene impostato su uno di questi valori o su un altro valore non riconosciuto, il valore verrà ignorato automaticamente.

Metodi

close()

Promesso .
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

Chiude il socket e rilascia l'indirizzo/la porta a cui è associato il socket. 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

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Collega la presa a un computer remoto. Quando l'operazione connect viene completata correttamente, vengono generati onReceive eventi quando il peer riceve i dati. Se si verifica un errore di rete mentre il runtime riceve i pacchetti, viene generato un evento onReceiveError e a quel punto non verrà generato più evento onReceive per questo socket fino a quando non viene richiamato il metodo resume.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • peerAddress

    stringa

    L'indirizzo della macchina remota. Sono supportati i formati nome DNS, IPv4 e IPv6.

  • peerPort

    numero

    La porta della macchina remota.

  • dnsQueryType

    DnsQueryType facoltativo

    Chrome 103 e versioni successive .

    La preferenza di risoluzione degli indirizzi.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (result: number) => void

    • risultato

      numero

      Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.

create()

Promesso .
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Crea un socket TCP.

Parametri

  • proprietà

    SocketProperties facoltativo

    Le proprietà del socket (facoltative).

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo) => void

    • createInfo

      Il risultato della creazione del socket.

Resi

  • Promise&lt;CreateInfo&gt;

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

disconnect()

Promesso .
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

Disconnette la presa.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getInfo()

Promesso .
chrome.sockets.tcp.getInfo(
  socketId: number,
  callback?: function,
)

Recupera lo stato del socket specificato.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Oggetto contenente le informazioni sul socket.

Resi

  • Promise&lt;SocketInfo&gt;

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

getSockets()

Promesso .
chrome.sockets.tcp.getSockets(
  callback?: function,
)

Recupera l'elenco dei socket attualmente aperti di proprietà dell'applicazione.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Array di oggetti contenente informazioni sul socket.

Resi

  • Promise&lt;SocketInfo[]&gt;

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

Avvia una connessione client TLS sul socket del client TCP connesso.

Parametri

  • socketId

    numero

    La presa connessa esistente 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

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Invia i dati sul socket TCP specificato.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • dati

    ArrayBuffer

    I dati da inviare.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (sendInfo: SendInfo) => void

    • sendInfo

      Risultato del metodo send.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

Attiva o disattiva la funzionalità keep-alive per una connessione TCP.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • 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: number) => void

    • risultato

      numero

      Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.

setNoDelay()

chrome.sockets.tcp.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

    L'identificatore del socket.

  • noDelay

    booleano

    Se impostato su true, disabilita l'algoritmo di Nagle.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (result: number) => void

    • risultato

      numero

      Il codice risultato restituito dalla chiamata di rete sottostante. Un valore negativo indica un errore.

setPaused()

Promesso .
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Attiva o disattiva la ricezione di messaggi dal peer dell'applicazione. Il valore predefinito è "false". La messa in pausa di un socket viene in genere utilizzata da un'applicazione per limitare i dati inviati dal peer. Quando un socket viene messo in pausa, non viene generato alcun evento onReceive. Quando un socket viene connesso e viene riattivato, gli eventi onReceive vengono generati di nuovo alla ricezione dei messaggi.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

update()

Promesso .
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Aggiorna le proprietà del socket.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • proprietà

    Le proprietà da aggiornare.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 121 e versioni successive .

    Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.

Eventi

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Evento generato alla ricezione dei dati per un determinato socket.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (info: ReceiveInfo) => void

onReceiveError

chrome.sockets.tcp.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 impostato su paused e non vengono generati altri eventi onReceive per questo socket.

Parametri