chrome.sockets.tcpServer

Descrizione

Utilizza l'API chrome.sockets.tcpServer per creare applicazioni server utilizzando connessioni TCP. Questa API sostituisce la funzionalità TCP precedentemente presente nell'API chrome.socket.

Manifest

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

"sockets"

Tipi

AcceptErrorInfo

Proprietà

  • resultCode

    numero

    Il codice risultato restituito dalla chiamata di rete sottostante.

  • socketId

    numero

    L'identificatore del socket server.

AcceptInfo

Proprietà

  • clientSocketId

    numero

    L'identificatore del socket client, ovvero l'identificatore del socket della connessione appena stabilita. Questo identificatore di socket deve essere utilizzato solo con le funzioni dello spazio dei nomi chrome.sockets.tcp. Tieni presente che il socket client è inizialmente in pausa e deve essere riattivato esplicitamente dall'applicazione per iniziare a ricevere dati.

  • socketId

    numero

    L'identificatore del socket server.

CreateInfo

Proprietà

  • socketId

    numero

    L'ID del socket server 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/) deprecata.

SocketInfo

Proprietà

  • localAddress

    stringa facoltativa

    Se il socket è in ascolto, contiene il suo indirizzo IPv4/6 locale.

  • localPort

    number optional

    Se il socket è in ascolto, contiene la sua porta locale.

  • nome

    stringa facoltativa

    Stringa definita dall'applicazione associata al socket.

  • in pausa

    booleano

    Flag che indica se le richieste di connessione su un socket di ascolto vengono inviate tramite l'evento onAccept o messe in coda nel backlog della coda di ascolto. Leggi i setPaused. Il valore predefinito è "false".

  • persistente

    booleano

    Flag che indica se il socket rimane aperto quando la pagina degli eventi dell'applicazione viene scaricata (vedi SocketProperties.persistent). Il valore predefinito è "false".

  • socketId

    numero

    L'identificatore del socket.

SocketProperties

Proprietà

  • nome

    stringa facoltativa

    Una stringa definita dall'applicazione associata al socket.

  • persistente

    boolean facoltativo

    Flag che indica se il socket rimane aperto quando la pagina degli eventi dell'applicazione viene scaricata (consulta Gestisci il ciclo di vita dell'app). Il valore predefinito è "false". Quando l'applicazione viene caricata, tutti i socket precedentemente aperti con persistent=true possono essere recuperati con getSockets.

Metodi

close()

Promise
chrome.sockets.tcpServer.close(
  socketId: number,
  callback?: function,
)
: Promise<void>

Disconnette e distrugge 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 elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 121 e versioni successive

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

create()

Promise
chrome.sockets.tcpServer.create(
  properties?: SocketProperties,
  callback?: function,
)
: Promise<CreateInfo>

Crea un socket server TCP.

Parametri

  • proprietà

    SocketProperties facoltativo

    Le proprietà del socket (facoltativo).

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (createInfo: CreateInfo) => void

    • createInfo

      Il risultato della creazione del socket.

Resi

  • Promise<CreateInfo>

    Chrome 121 e versioni successive

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

disconnect()

Promise
chrome.sockets.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)
: Promise<void>

Scollega il socket di ascolto, ovvero interrompe l'accettazione di nuove connessioni e rilascia l'indirizzo/la porta a cui è associato il socket. L'identificatore del socket rimane valido, ad esempio può essere utilizzato con listen per accettare connessioni su una nuova porta e un nuovo indirizzo.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 121 e versioni successive

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

getInfo()

Promise
chrome.sockets.tcpServer.getInfo(
  socketId: number,
  callback?: function,
)
: Promise<SocketInfo>

Recupera lo stato del socket specificato.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Oggetto contenente le informazioni sul socket.

Resi

  • Promise<SocketInfo>

    Chrome 121 e versioni successive

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

getSockets()

Promise
chrome.sockets.tcpServer.getSockets(
  callback?: function,
)
: Promise<SocketInfo[]>

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

Parametri

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Array di oggetti contenenti informazioni sui socket.

Resi

  • Promise<SocketInfo[]>

    Chrome 121 e versioni successive

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

listen()

chrome.sockets.tcpServer.listen(
  socketId: number,
  address: string,
  port: number,
  backlog?: number,
  callback: function,
)
: void

Ascolta le connessioni sulla porta e sull'indirizzo specificati. Se la porta o l'indirizzo sono in uso, il callback indica un errore.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • indirizzo

    stringa

    L'indirizzo della macchina locale.

  • porta

    numero

    La porta della macchina locale. Se impostato su 0, viene scelta dinamicamente una porta libera. La porta allocata in modo dinamico può essere trovata chiamando getInfo.

  • backlog

    number optional

    Lunghezza della coda di ascolto del socket. Il valore predefinito dipende dal sistema operativo (SOMAXCONN), che garantisce una lunghezza della coda ragionevole per la maggior parte delle applicazioni.

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

Promise
chrome.sockets.tcpServer.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

Abilita o disabilita un socket di ascolto per l'accettazione di nuove connessioni. Quando è in pausa, un socket di ascolto accetta nuove connessioni fino a quando il suo backlog (vedi la funzione listen) non è pieno, quindi rifiuta ulteriori richieste di connessione. Gli eventi onAccept vengono generati solo quando il socket non è in pausa.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 121 e versioni successive

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

update()

Promise
chrome.sockets.tcpServer.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)
: Promise<void>

Aggiorna le proprietà del socket.

Parametri

  • socketId

    numero

    L'identificatore del socket.

  • proprietà

    Le proprietà da aggiornare.

  • callback

    funzione elemento facoltativo

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 121 e versioni successive

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

Eventi

onAccept

chrome.sockets.tcpServer.onAccept.addListener(
  callback: function,
)

Evento attivato quando viene stabilita una connessione al socket server.

Parametri

  • callback

    funzione

    Il parametro callback ha il seguente aspetto:

    (info: AcceptInfo) => void

onAcceptError

chrome.sockets.tcpServer.onAcceptError.addListener(
  callback: function,
)

Evento generato quando si è verificato un errore di rete mentre il runtime era in attesa di nuove connessioni sull'indirizzo e sulla porta del socket. Una volta generato questo evento, il socket viene impostato su paused e non vengono generati altri eventi onAccept per questo socket finché non viene ripristinato.

Parametri