chrome.sockets.tcpServer

Descrizione

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

Manifest

Per utilizzare questa API, le seguenti chiavi devono essere dichiarate nel 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/) ritirata.

SocketInfo

Proprietà

  • localAddress

    stringa facoltativa

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

  • localPort

    number (facoltativo)

    Se il socket è in ascolto, contiene la 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 accodate 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 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

    booleano facoltativo

    Flag che indica se il socket rimane 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

close()

Promessa
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 facoltativa

    Il parametro callback ha 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()

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

Crea un socket server 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<CreateInfo>

    Chrome 121+

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

disconnect()

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

Scollega il socket di ascolto, ovvero smette di accettare 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 facoltativa

    Il parametro callback ha 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.

getInfo()

Promessa
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 facoltativa

    Il parametro callback ha il seguente aspetto:

    (socketInfo: SocketInfo) => void

    • socketInfo

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

getSockets()

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

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

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/l'indirizzo è 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 dinamicamente può essere trovata chiamando getInfo.

  • backlog

    number (facoltativo)

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

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

Abilita o disabilita un socket di ascolto dall'accettazione di nuove connessioni. Quando è in pausa, un socket di ascolto accetta nuove connessioni finché il backlog (vedi funzione listen) non è pieno, poi rifiuta ulteriori richieste di connessione. Gli eventi onAccept vengono generati solo quando il socket viene riattivato.

Parametri

  • socketId

    numero

  • in pausa

    booleano

  • callback

    funzione facoltativa

    Il parametro callback ha 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()

Promessa
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 facoltativa

    Il parametro callback ha 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

onAccept

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

Evento generato quando è stata stabilita una connessione al socket del 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 socket e sulla porta. 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