chrome.socket

Descrição

Use a API chrome.socket para enviar e receber dados pela rede usando conexões TCP e UDP. Observação: a partir do Chrome 33, essa API foi descontinuada em favor das APIs sockets.udp, sockets.tcp e sockets.tcpServer.

Permissões

socket

Tipos

AcceptInfo

Propriedades

  • resultCode

    número

  • socketId

    número optional

    O ID do soquete aceito.

CreateInfo

Propriedades

  • socketId

    número

    O ID do soquete recém-criado.

CreateOptions

NetworkInterface

Propriedades

  • endereço

    string

    O endereço IPv4/6 disponível.

  • nome

    string

    O nome do adaptador. No *nix, normalmente é "eth0", "lo" etc.

  • prefixLength

    número

    O comprimento do prefixo

ReadInfo

Propriedades

  • dados

    ArrayBuffer

  • resultCode

    número

    O resultCode retornado pela chamada read() correspondente.

RecvFromInfo

Propriedades

  • endereço

    string

    O endereço da máquina remota.

  • dados

    ArrayBuffer

  • porta

    número

  • resultCode

    número

    O resultCode retornado da chamada recvfrom() subjacente.

SecureOptions

Propriedades

SocketInfo

Propriedades

  • conectado

    booleano

    Se o soquete subjacente está conectado ou não.

    Para soquetes tcp, isso vai continuar verdadeiro mesmo que o par remoto tenha se desconectado. A leitura ou gravação no soquete pode resultar em um erro, sugerindo que esse soquete precisa ser desconectado usando disconnect().

    Para soquetes udp, isso representa apenas se um endereço remoto padrão foi especificado para ler e gravar pacotes.

  • localAddress

    string opcional

    Se o soquete subjacente estiver vinculado ou conectado, contém o endereço IPv4/6 local.

  • localPort

    número optional

    Se o soquete subjacente estiver vinculado ou conectado, contém a porta local dele.

  • peerAddress

    string opcional

    Se o soquete subjacente estiver conectado, contém o endereço IPv4/6 do peering.

  • peerPort

    número optional

    Se o soquete subjacente estiver conectado, contém a porta do par conectado.

  • socketType

    O tipo do soquete transmitido. Ele será tcp ou udp.

SocketType

Enumeração

"tcp"

"udp"

TLSVersionConstraints

Propriedades

  • max

    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á fixado silenciosamente em tls1.2. Se max for definido como um desses valores ou qualquer outro valor não reconhecido, ele será ignorado silenciosamente.

WriteInfo

Propriedades

  • bytesWritten

    número

    O número de bytes enviados ou um código do erro negativo.

Métodos

accept()

chrome.socket.accept(
  socketId: number,
  callback: function,
)
: void

Esse método se aplica apenas a soquetes TCP. Registra uma função de callback a ser chamada quando uma conexão é aceita neste soquete de servidor de detecção. É preciso chamar Listen primeiro. Se já houver um callback de aceitação ativo, ele será invocado imediatamente com um erro como resultCode.

Parâmetros

  • socketId

    número

    O socketId.

  • callback

    função

    O parâmetro callback é semelhante a:

    (acceptInfo: AcceptInfo) => void

bind()

chrome.socket.bind(
  socketId: number,
  address: string,
  port: number,
  callback: function,
)
: void

Vincula o endereço local para o soquete. No momento, ela não oferece suporte a soquetes TCP.

Parâmetros

  • socketId

    número

    O socketId.

  • endereço

    string

    O endereço da máquina local.

  • porta

    número

    A porta da máquina local.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

connect()

chrome.socket.connect(
  socketId: number,
  hostname: string,
  port: number,
  callback: function,
)
: void

Conecta o soquete à máquina remota (para um soquete tcp). Para um soquete udp, isso define o endereço padrão para o qual os pacotes são enviados e lidos para chamadas read() e write().

Parâmetros

  • socketId

    número

    O socketId.

  • nome do host

    string

    O nome do host ou o endereço IP da máquina remota.

  • porta

    número

    A porta da máquina remota.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

create()

Promessa
chrome.socket.create(
  type: SocketType,
  options?: CreateOptions,
  callback?: function,
)
: Promise<CreateInfo>

Cria um soquete do tipo especificado que se conectará à máquina remota especificada.

Parâmetros

  • tipo

    O tipo de soquete a ser criado. Precisa ser tcp ou udp.

  • opções

    CreateOptions opcional

    As opções de soquete.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (createInfo: CreateInfo) => void

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.

destroy()

chrome.socket.destroy(
  socketId: number,
)
: void

Destrói o soquete. Cada soquete criado precisa ser destruído após o uso.

Parâmetros

  • socketId

    número

    O socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)
: void

Desconecta o soquete. Para soquetes UDP, disconnect é uma não operação, mas é seguro chamar.

Parâmetros

  • socketId

    número

    O socketId.

getInfo()

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

Recupera o estado do soquete fornecido.

Parâmetros

  • socketId

    número

    O socketId.

  • callback

    função optional

    O parâmetro callback é semelhante a:

    (result: SocketInfo) => void

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.

getJoinedGroups()

chrome.socket.getJoinedGroups(
  socketId: number,
  callback: function,
)
: void

Recebe os endereços do grupo multicast ao qual o soquete está conectado no momento.

Parâmetros

  • socketId

    número

    O socketId.

  • callback

    função

    O parâmetro callback é semelhante a:

    (groups: string[]) => void

    • grupos

      string[]

getNetworkList()

Promessa
chrome.socket.getNetworkList(
  callback?: function,
)
: Promise<NetworkInterface[]>

Recupera informações sobre adaptadores locais neste sistema.

Parâmetros

Retorna

  • Promise<NetworkInterface[]>

    Chrome 121+

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

joinGroup()

chrome.socket.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Entrar no grupo multicast e começar a receber pacotes dele. O soquete precisa ser do tipo UDP e estar vinculado a uma porta local antes de chamar esse método.

Parâmetros

  • socketId

    número

    O socketId.

  • endereço

    string

    O endereço do grupo em que você quer entrar. Não é possível usar nomes de domínio.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

leaveGroup()

chrome.socket.leaveGroup(
  socketId: number,
  address: string,
  callback: function,
)
: void

Sair do grupo multicast que você entrou usando joinGroup. Não é necessário sair do grupo multicast antes de destruir o soquete ou sair. Isso é chamado automaticamente pelo SO.

Sair do grupo impede que o roteador envie datagramas multicast para o host local, presumindo que nenhum outro processo no host ainda esteja associado ao grupo.

Parâmetros

  • socketId

    número

    O socketId.

  • endereço

    string

    O endereço do grupo do qual você quer sair. Não é possível usar nomes de domínio.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

listen()

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

Esse método se aplica apenas a soquetes TCP. Detecta conexões na porta e no endereço especificados. Isos faz com que ele se torne um soquete de servidor, e as funções de socket de cliente (conectar, ler, gravar) não podem mais ser usadas nele.

Parâmetros

  • socketId

    número

    O socketId.

  • endereço

    string

    O endereço da máquina local.

  • porta

    número

    A porta da máquina local.

  • backlog

    número optional

    Comprimento da fila de escuta do soquete.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

read()

chrome.socket.read(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Lê dados do soquete conectado fornecido.

Parâmetros

  • socketId

    número

    O socketId.

  • bufferSize

    número optional

    O tamanho do buffer de leitura.

  • callback

    função

    O parâmetro callback é semelhante a:

    (readInfo: ReadInfo) => void

recvFrom()

chrome.socket.recvFrom(
  socketId: number,
  bufferSize?: number,
  callback: function,
)
: void

Recebe dados do soquete UDP fornecido.

Parâmetros

  • socketId

    número

    O socketId.

  • bufferSize

    número optional

    O tamanho do buffer de recebimento.

  • callback

    função

    O parâmetro callback é semelhante a:

    (recvFromInfo: RecvFromInfo) => void

secure()

chrome.socket.secure(
  socketId: number,
  options?: SecureOptions,
  callback: function,
)
: void

Inicia uma conexão de cliente TLS em um socket de cliente TCP conectado.

Parâmetros

  • socketId

    número

    O soquete conectado a ser usado.

  • opções

    SecureOptions opcional

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

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

sendTo()

chrome.socket.sendTo(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  callback: function,
)
: void

Envia dados no soquete UDP fornecido para o endereço e a porta fornecidos.

Parâmetros

  • socketId

    número

    O socketId.

  • dados

    ArrayBuffer

    Os dados a serem gravados.

  • endereço

    string

    O endereço da máquina remota.

  • porta

    número

    A porta da máquina remota.

  • callback

    função

    O parâmetro callback é semelhante a:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.setKeepAlive(
  socketId: number,
  enable: boolean,
  delay?: number,
  callback: function,
)
: void

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

Parâmetros

  • socketId

    número

    O socketId.

  • ativar

    booleano

    Se verdadeiro, ativa a funcionalidade de keep-alive.

  • delay

    número optional

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

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: boolean) => void

    • resultado

      booleano

setMulticastLoopbackMode()

chrome.socket.setMulticastLoopbackMode(
  socketId: number,
  enabled: boolean,
  callback: function,
)
: void

Define se os pacotes multicast enviados do host para o grupo multicast serão retornados ao host.

Observação: o comportamento de setMulticastLoopbackMode é um pouco diferente entre os sistemas Windows e Unix. A inconsistência acontece apenas quando há mais de um aplicativo no mesmo host associado ao mesmo grupo de multicast, mas com configurações diferentes no modo de loopback de multicast. No Windows, os aplicativos com loopback desativado não RECEBEM os pacotes de loopback. Já em sistemas do tipo Unix, os aplicativos com loopback desativado não ENVIAM os pacotes de loopback para outros aplicativos no mesmo host. Consulte MSDN: https://learn.microsoft.com/en-us/windows/win32/winsock/ip-multicast-2

A chamada desse método não requer permissões de multicast.

Parâmetros

  • socketId

    número

    O socketId.

  • ativado

    booleano

    Indica se o modo de loopback deve ser ativado.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

setMulticastTimeToLive()

chrome.socket.setMulticastTimeToLive(
  socketId: number,
  ttl: number,
  callback: function,
)
: void

Defina o tempo de vida dos pacotes multicast enviados ao grupo multicast.

A chamada desse método não requer permissões de multicast.

Parâmetros

  • socketId

    número

    O socketId.

  • ttl

    número

    O valor de time to live.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: number) => void

    • resultado

      número

setNoDelay()

chrome.socket.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 for definido.

Parâmetros

  • socketId

    número

    O socketId.

  • noDelay

    booleano

    Se verdadeiro, desativa o algoritmo de Nagle.

  • callback

    função

    O parâmetro callback é semelhante a:

    (result: boolean) => void

    • resultado

      booleano

write()

chrome.socket.write(
  socketId: number,
  data: ArrayBuffer,
  callback: function,
)
: void

Grava dados no soquete conectado fornecido.

Parâmetros

  • socketId

    número

    O socketId.

  • dados

    ArrayBuffer

    Os dados a serem gravados.

  • callback

    função

    O parâmetro callback é semelhante a:

    (writeInfo: WriteInfo) => void