chrome.socket

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à

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 tramite disconnect().

    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 o udp.

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 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.

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

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()

Promesso .
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 o udp.

  • opzioni

    CreateOptions facoltativo

    Le opzioni del socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo) => void

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()

Promesso .
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

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()

Promesso .
chrome.socket.getNetworkList(
  callback?: function,
)

Recupera informazioni sugli adattatori locali su questo sistema.

Parametri

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

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

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

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.

Parametri

  • socketId

    numero

    Il socketId.

  • dati

    ArrayBuffer

    I dati da scrivere.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (writeInfo: WriteInfo) => void