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 usar essa API.

"sockets"

Tipos

CreateInfo

Propriedades

  • socketId

    número

    O ID do soquete recém-criado. Os IDs de soquete criados com essa API não são compatíveis com os IDs criados com outras APIs, como a API [socket](../socket/) obsoleta.

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.

Enumeração

"any"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriedades

  • resultCode

    número

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

  • socketId

    número

    O identificador do soquete.

ReceiveInfo

Propriedades

  • dados

    ArrayBuffer

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

  • socketId

    número

    O identificador do soquete.

SecureOptions

Propriedades

SendInfo

Propriedades

  • bytesSent

    number optional

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

  • resultCode

    número

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

SocketInfo

Propriedades

  • bufferSize

    number optional

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

  • conectado

    booleano

    Flag que indica se o soquete está conectado a um peer remoto.

  • localAddress

    string opcional

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

  • localPort

    number optional

    Se o soquete subjacente estiver conectado, vai conter a porta local.

  • nome

    string opcional

    String definida pelo aplicativo associada ao soquete.

  • pausado

    booleano

    Flag que indica se um soquete conectado impede que o peer envie mais dados (consulte setPaused).

  • peerAddress

    string opcional

    Se o soquete subjacente estiver conectado, vai conter o endereço do peer/ IPv4/6.

  • peerPort

    number optional

    Se o soquete subjacente estiver conectado, vai conter a porta do peer.

  • persistente

    booleano

    Flag que indica se o soquete fica aberto quando o aplicativo é suspenso (consulte SocketProperties.persistent).

  • socketId

    número

    O identificador do soquete.

SocketProperties

Propriedades

  • bufferSize

    number optional

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

  • nome

    string opcional

    Uma string definida pelo aplicativo associada ao soquete.

  • persistente

    booleano opcional

    Flag que indica se o soquete fica aberto quando a página de eventos do aplicativo é descarregada. Consulte Gerenciar o ciclo de vida do app. O valor padrão é "false". Quando o aplicativo é carregado, todos os sockets 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 aceitos. Se min for definido como um desses valores, ele será ajustado silenciosamente para tls1.2. Se max for definido como um desses valores ou qualquer outro valor não reconhecido, ele será ignorado silenciosamente.

Métodos

close()

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

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

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 121+

    As promessas só são compatíveis 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,
)
: void

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

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • peerAddress

    string

    O endereço da máquina remota. Os formatos de nome DNS, IPv4 e IPv6 são aceitos.

  • peerPort

    número

    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

      número

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

create()

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

Cria um soquete TCP.

Parâmetros

  • properties

    As propriedades do soquete (opcional).

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (createInfo: CreateInfo) => void

    • createInfo

      O resultado da criação do soquete.

Retorna

  • Promise<CreateInfo>

    Chrome 121+

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

disconnect()

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

Desconecta o soquete.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 121+

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

getInfo()

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

Recupera o estado do soquete especificado.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (socketInfo: SocketInfo) => void

    • socketInfo

      Objeto que contém as informações do soquete.

Retorna

  • Promise<SocketInfo>

    Chrome 121+

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

getSockets()

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

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

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

      Matriz de objetos que contém informações de soquete.

Retorna

  • Promise<SocketInfo[]>

    Chrome 121+

    As promessas só são compatíveis 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,
)
: void

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

Parâmetros

  • socketId

    número

    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

      número

send()

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

Envia dados no soquete TCP especificado.

Parâmetros

  • socketId

    número

    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,
)
: void

Ativa ou desativa a funcionalidade keep-alive para uma conexão TCP.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • ativar

    booleano

    Se verdadeiro, ativa a funcionalidade de manutenção de atividade.

  • delay

    number optional

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

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      número

      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,
)
: void

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

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • noDelay

    booleano

    Se for verdadeiro, desativa o algoritmo de Nagle.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      número

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

setPaused()

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

Ativa ou desativa o recebimento de mensagens do app do mesmo nível. O valor padrão é "false". A pausa de um soquete é usada normalmente por um aplicativo para limitar os dados enviados pelo peer. 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

    número

  • pausado

    booleano

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 121+

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

update()

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

Atualiza as propriedades do soquete.

Parâmetros

  • socketId

    número

    O identificador do soquete.

  • properties

    As propriedades a serem atualizadas.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promise<void>

    Chrome 121+

    As promessas só são compatíveis 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 para 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 um erro de rede ocorreu enquanto o ambiente de execução aguardava dados no endereço e na porta do soquete. Depois que esse evento é gerado, o soquete é definido como paused e nenhum outro evento onReceive é gerado para ele.

Parâmetros