chrome.sockets.tcp

Descrição

Use a API chrome.sockets.tcp para enviar e receber dados pela rede usando conexões TCP. Essa API substitui a funcionalidade TCP encontrada anteriormente na API chrome.socket.

Manifesto

As chaves a seguir precisam ser declaradas no manifesto para o uso dessa API.

"sockets"

Tipos

CreateInfo

Propriedades

  • socketId

    number

    O ID do soquete recém-criado. Os IDs de soquete criados com base nessa API não são compatíveis com aqueles criados com outras APIs, como a API [socket](../socket/), que foi descontinuada.

DnsQueryType

Chrome 103 ou mais recente

Preferências de resolução de DNS. O padrão é any e usa a configuração atual do SO, que pode retornar IPv4 ou IPv6. ipv4 força o IPv4, e ipv6 força o IPv6.

Tipo enumerado

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriedades

  • resultCode

    number

    O código de resultado retornado da chamada de rede subjacente.

  • socketId

    number

    O identificador do soquete.

ReceiveInfo

Propriedades

  • dados

    ArrayBuffer

    Os dados recebidos, com um tamanho máximo de bufferSize.

  • socketId

    number

    O identificador do soquete.

SecureOptions

Propriedades

SendInfo

Propriedades

  • bytesSent

    número opcional

    O número de bytes enviados (if result == 0)

  • resultCode

    number

    O código de resultado retornado da chamada de rede subjacente. Um valor negativo indica um erro.

SocketInfo

Propriedades

  • bufferSize

    número opcional

    O tamanho do buffer usado para receber dados. Se nenhum tamanho de buffer tiver sido especificado explicitamente, o valor não será fornecido.

  • conectado

    boolean

    Sinalização que indica se o soquete está conectado a um peering remoto.

  • localAddress

    string opcional

    Se o soquete subjacente estiver conectado, ele conterá o endereço IPv4/6 local.

  • localPort

    número opcional

    Se o soquete subjacente estiver conectado, ele conterá a porta local dele.

  • name

    string opcional

    String definida pelo aplicativo associada ao soquete.

  • pausado

    boolean

    Sinalização que indica se um soquete conectado impede que o peering envie mais dados (consulte setPaused).

  • peerAddress

    string opcional

    Se o soquete subjacente estiver conectado, ele conterá o endereço IPv4/6 de peering.

  • peerPort

    número opcional

    Se o soquete subjacente estiver conectado, ele conterá a porta do terminal.

  • permanentes

    boolean

    Sinalização que indica se o soquete foi deixado em aberto quando o aplicativo foi suspenso (consulte SocketProperties.persistent).

  • socketId

    number

    O identificador do soquete.

SocketProperties

Propriedades

  • bufferSize

    número opcional

    O tamanho do buffer usado para receber dados. O valor padrão é 4.096.

  • name

    string opcional

    Uma string definida pelo aplicativo associada ao soquete.

  • permanentes

    booleano opcional

    Sinalização que indica se o soquete foi deixado em aberto quando a página de eventos do aplicativo é descarregada (consulte Gerenciar o ciclo de vida do app). O valor padrão é "falso". Quando o aplicativo é carregado, todos os soquetes abertos anteriormente com persistent=true podem ser buscados com getSockets.

TLSVersionConstraints

Propriedades

  • máx

    string opcional

  • min

    string opcional

    As versões mínima e máxima aceitáveis do TLS. Os valores aceitos são tls1.2 ou tls1.3.

    Os valores tls1 e tls1.1 não são mais compatíveis. Se min estiver definido como um desses valores, ele será reduzido de forma silenciosa a tls1.2. Se max estiver definido como um desses valores ou qualquer outro valor não reconhecido, ele será ignorado silenciosamente.

Métodos

close()

Promessa
chrome.sockets.tcp.close(
  socketId: number,
  callback?: function,
)

Fecha o soquete e libera o endereço/porta a que o soquete está vinculado. Cada soquete criado deve ser fechado após o uso. O ID do soquete deixa de ser válido assim que a função é chamada. No entanto, há a garantia de que o soquete será fechado somente quando o callback for invocado.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

connect()

chrome.sockets.tcp.connect(
  socketId: number,
  peerAddress: string,
  peerPort: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Conecta o soquete a uma máquina remota. Quando a operação connect for concluída, eventos onReceive serão gerados quando os dados forem recebidos do peering. Se ocorrer um erro de rede enquanto o ambiente de execução estiver recebendo pacotes, um evento onReceiveError será gerado. Nesse momento, nenhum evento onReceive será gerado para esse soquete até que o método resume seja chamado.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • peerAddress

    string

    O endereço da máquina remota. Há suporte para o nome DNS e os formatos IPv4 e IPv6.

  • peerPort

    number

    A porta da máquina remota.

  • dnsQueryType

    DnsQueryType opcional

    Chrome 103 ou mais recente

    A preferência de resolução de endereço.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number)=>void

    • resultado

      number

      O código de resultado retornado da chamada de rede subjacente. Um valor negativo indica um erro.

create()

Promessa
chrome.sockets.tcp.create(
  properties?: SocketProperties,
  callback?: function,
)

Cria um soquete TCP.

Parâmetros

  • properties

    As propriedades do soquete (opcional).

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (createInfo: CreateInfo)=>void

    • createInfo

      O resultado da criação do soquete.

Retorna

  • Promise<CreateInfo>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promessa
chrome.sockets.tcp.disconnect(
  socketId: number,
  callback?: function,
)

Desconecta o soquete.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getInfo()

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

Recupera o estado do soquete especificado.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (socketInfo: SocketInfo)=>void

    • socketInfo

      Objeto contendo as informações do soquete.

Retorna

  • Promise<SocketInfo>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getSockets()

Promessa
chrome.sockets.tcp.getSockets(
  callback?: function,
)

Recupera a lista de soquetes abertos no momento pertencentes ao aplicativo.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (socketInfos: SocketInfo[])=>void

    • socketInfos

      Matriz de objeto que contém informações sobre o soquete.

Retorna

  • Promise<SocketInfo[]>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

secure()

chrome.sockets.tcp.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)

Inicie uma conexão de cliente TLS no soquete do cliente TCP conectado.

Parâmetros

  • socketId

    number

    O soquete conectado atual a ser usado.

  • opções

    SecureOptions opcional

    Restrições e parâmetros para a conexão TLS.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number)=>void

    • resultado

      number

send()

chrome.sockets.tcp.send(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)

Envia dados no soquete TCP especificado.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • dados

    ArrayBuffer

    Os dados a serem enviados.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (sendInfo: SendInfo)=>void

    • sendInfo

      Resultado do método send.

setKeepAlive()

chrome.sockets.tcp.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)

Ativa ou desativa a funcionalidade de sinal de atividade para uma conexão TCP.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • enable

    boolean

    Se verdadeiro, ativar a funcionalidade keep-alive.

  • delay

    número opcional

    Defina os segundos de atraso entre o último pacote de dados recebido e a primeira sondagem de sinal de atividade. O padrão é 0.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number)=>void

    • resultado

      number

      O código de resultado retornado da chamada de rede subjacente. Um valor negativo indica um erro.

setNoDelay()

chrome.sockets.tcp.setNoDelay(
  socketId: number,
  noDelay: boolean,
  callback: function,
)

Define ou limpa TCP_NODELAY para uma conexão TCP. O algoritmo do Nagle será desativado quando TCP_NODELAY for definido.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • noDelay

    boolean

    Se verdadeiro, desativa o algoritmo do Nagle.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number)=>void

    • resultado

      number

      O código de resultado retornado da chamada de rede subjacente. Um valor negativo indica um erro.

setPaused()

Promessa
chrome.sockets.tcp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Ativa ou desativa o recebimento de mensagens do aplicativo pelo peering. O valor padrão é "false". Pausar um soquete normalmente é usado por um aplicativo para limitar os dados enviados pelo peering. Quando um soquete é pausado, nenhum evento onReceive é gerado. Quando um soquete é conectado e retomado, os eventos onReceive são gerados novamente quando as mensagens são recebidas.

Parâmetros

  • socketId

    number

  • pausado

    boolean

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

Promessa
chrome.sockets.tcp.update(
  socketId: number,
  properties: SocketProperties,
  callback?: function,
)

Atualiza as propriedades do soquete.

Parâmetros

  • socketId

    number

    O identificador do soquete.

  • properties

    Propriedades a serem atualizadas.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 121 ou mais recente

    Promessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

Eventos

onReceive

chrome.sockets.tcp.onReceive.addListener(
  callback: function,
)

Evento gerado quando os dados são recebidos em um determinado soquete.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (info: ReceiveInfo)=>void

onReceiveError

chrome.sockets.tcp.onReceiveError.addListener(
  callback: function,
)

Evento gerado quando ocorre um erro de rede enquanto o tempo de execução aguarda os dados no endereço e na porta do soquete. Quando esse evento é gerado, o soquete é definido como paused, e nenhum evento onReceive é gerado para ele.

Parâmetros