chrome.sockets.tcpServer

Descrizione

Utilizza l'API chrome.sockets.tcpServer per creare applicazioni server mediante 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

AcceptErrorInfo

Proprietà

  • resultCode

    numero

    Il codice risultato restituito dalla chiamata di rete sottostante.

  • socketId

    numero

    L'identificatore del socket del server.

AcceptInfo

Proprietà

  • clientSocketId

    numero

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

  • socketId

    numero

    L'identificatore del socket del server.

CreateInfo

Proprietà

  • socketId

    numero

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

SocketInfo

Proprietà

  • localAddress

    stringa facoltativo

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

  • localPort

    numero facoltativo

    Se la presa è in ascolto, contiene la sua porta locale.

  • nome

    stringa facoltativo

    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 viene eseguito l'unload della pagina degli eventi dell'applicazione (vedi SocketProperties.persistent). Il valore predefinito è "false".

  • socketId

    numero

    L'identificatore del socket.

SocketProperties

Proprietà

  • nome

    stringa facoltativo

    Una stringa definita dall'applicazione associata al socket.

  • persistente

    booleano facoltativo

    Flag che indica se il socket rimane aperto quando viene eseguito l'unload della pagina degli eventi dell'applicazione (vedi Gestire il 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.

Metodi

close()

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

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

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

create()

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

Crea un socket del 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&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.tcpServer.disconnect(
  socketId: number,
  callback?: function,
)

Disconnette la presa di ascolto, ovvero smette di accettare nuove connessioni e rilascia l'indirizzo/la porta a cui è associato il socket. L'identificatore 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

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

listen()

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

Rimane in ascolto delle 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 il valore è impostato su 0, viene scelta una porta senza costi in modo dinamico. Puoi trovare la porta allocata dinamicamente chiamando getInfo.

  • arretrato

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

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

Attiva o disattiva un socket di ascolto in modo che non accetti nuove connessioni. Quando è in pausa, un socket di ascolto accetta nuove connessioni fino a quando il backlog (vedi la funzione listen) non è esaurito, 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 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.tcpServer.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

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 e sulla porta socket. Una volta generato questo evento, il socket viene impostato su paused e non vengono generati altri eventi onAccept per questo socket fino a quando il socket non viene ripristinato.

Parametri