chrome.socket

Descrizione

Utilizza l'API chrome.socket per inviare e ricevere dati sulla rete con 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, in genere è "eth0", "lo" e così via.

  • prefixLength

    numero

    La lunghezza del prefisso

ReadInfo

Proprietà

  • dati

    ArrayBuffer

  • resultCode

    numero

    Il risultatoCode restituito dalla chiamata read() sottostante.

RecvFromInfo

Proprietà

  • indirizzo

    stringa

    L'indirizzo della macchina remota.

  • dati

    ArrayBuffer

  • porta

    numero

  • resultCode

    numero

    Il codice risultato restituito dalla chiamata recvfrom() sottostante.

SecureOptions

Proprietà

SocketInfo

Proprietà

  • connesso

    boolean

    Indica se il socket sottostante è connesso o meno.

    Per i socket tcp, questo comportamento rimane valido anche se il peer remoto si è disconnesso. La lettura o la scrittura nel socket potrebbe causare un errore, a indicare che il socket deve essere disconnesso tramite disconnect().

    Per i socket udp, rappresenta semplicemente se è stato specificato un indirizzo remoto predefinito per la lettura e la scrittura dei pacchetti.

  • localAddress

    stringa facoltativo

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

  • localPort

    numero facoltativo

    Se il socket sottostante è associato o connesso, contiene la 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 min è impostato su uno di questi valori, verrà bloccato automaticamente su tls1.2. Se max è impostato su uno di questi valori o su qualsiasi altro valore non riconosciuto, 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 valore 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. Attualmente, non supporta il socket TCP.

Parametri

  • socketId

    numero

    Il valore 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 all'apparecchio remoto (per una presa tcp). Per un socket udp, imposta l'indirizzo predefinito a cui vengono inviati e da cui vengono letti i pacchetti per le chiamate read() e write().

Parametri

  • socketId

    numero

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

Promessa
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)

Crea un socket del tipo specificato che si collegherà alla macchina remota specificata.

Parametri

  • tipo

    Il tipo di socket da creare. Deve essere tcp o udp.

  • opzioni

    CreateOptions facoltativo

    Le opzioni relative al socket.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo)=>void

Ritorni

  • Promise<CreateInfo>

    Chrome 121 e versioni successive

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

destroy()

chrome.socket.destroy(
  socketId: number,
)

Distrugge il socket. Ogni socket creato deve essere eliminato dopo l'utilizzo.

Parametri

  • socketId

    numero

    Il valore socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Disconnette la presa. Per i socket UDP, disconnect non è operativo, ma può essere chiamato in sicurezza.

Parametri

  • socketId

    numero

    Il valore socketId.

getInfo()

Promessa
chrome.socket.getInfo(
  socketId: number,
  callback?: function,
)

Recupera lo stato del socket specificato.

Parametri

  • socketId

    numero

    Il valore socketId.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (result: SocketInfo)=>void

Ritorni

  • Promise<SocketInfo>

    Chrome 121 e versioni successive

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

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)

Recupera gli indirizzi del gruppo multicast a cui è attualmente associato il socket.

Parametri

  • socketId

    numero

    Il valore socketId.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (groups: string[])=>void

    • gruppi

      stringa[]

getNetworkList()

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

Recupera le informazioni sugli adattatori locali su questo sistema.

Parametri

Ritorni

  • Promise<NetworkInterface[]>

    Chrome 121 e versioni successive

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

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

  • socketId

    numero

    Il valore socketId.

  • indirizzo

    stringa

    L'indirizzo del gruppo a cui unirti. 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 a cui si è unito in precedenza utilizzando joinGroup. Non è necessario uscire dal gruppo multicast prima di distruggere il socket o di uscire. Questa chiamata viene richiamata automaticamente dal sistema operativo.

Se esci dal gruppo, il router non potrà inviare datagrammi multicast all'host locale, presupposto che nessun altro processo dell'host sia ancora unito al gruppo.

Parametri

  • socketId

    numero

    Il valore socketId.

  • indirizzo

    stringa

    L'indirizzo del gruppo in cui lasciare. 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. Ascolta le connessioni sulla porta e sull'indirizzo specificati. In questo modo, si rende un socket server e le funzioni socket client (connessione, lettura, scrittura) non possono più essere utilizzate su questo socket.

Parametri

  • socketId

    numero

    Il valore 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 valore 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 valore 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 client TCP connesso.

Parametri

  • socketId

    numero

    La presa collegata 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 indicati all'indirizzo e alla porta indicati.

Parametri

  • socketId

    numero

    Il valore 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 valore socketId.

  • enable

    boolean

    Se il valore è true, abilita la funzionalità keep-alive.

  • delay

    numero facoltativo

    Imposta il ritardo in secondi 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

      boolean

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Consente di stabilire 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 Windows e sistemi simili a Unix. L'incoerenza si verifica solo quando più di un'applicazione sullo stesso host è unita allo stesso gruppo multicast e hanno impostazioni diverse per la modalità loopback multicast. Su Windows, le applicazioni con loopback disattivato non RICEVERE i pacchetti di loopback; mentre sui sistemi Unix-like, le applicazioni con loopback disattivato non INVIAno i pacchetti di loopback ad altre applicazioni sullo stesso host. Vedi MSDN: http://goo.gl/6vqbj

La chiamata di questo metodo non richiede autorizzazioni multicast.

Parametri

  • socketId

    numero

    Il valore socketId.

  • abilitata

    boolean

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

Parametri

  • socketId

    numero

    Il valore socketId.

  • ttl

    numero

    Il valore della durata.

  • 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 se verrà impostato TCP_NODELAY.

Parametri

  • socketId

    numero

    Il valore socketId.

  • noDelay

    boolean

    Se il valore è true, viene disattivato l'algoritmo di Nagle.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (result: boolean)=>void

    • risultato

      boolean

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Scrive i dati sul socket connesso specificato.

Parametri

  • socketId

    numero

    Il valore socketId.

  • dati

    ArrayBuffer

    I dati da scrivere.

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (writeInfo: WriteInfo)=>void