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 e substituída pelas APIs sockets.udp, sockets.tcp e sockets.tcpServer.

Permissões

socket

Tipos

AcceptInfo

Propriedades

  • resultCode

    number

  • socketId

    número opcional

    O ID do soquete aceito.

CreateInfo

Propriedades

  • socketId

    number

    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. Em *nix, normalmente será "eth0", "lo" etc.

  • prefixLength

    number

    O tamanho do prefixo

ReadInfo

Propriedades

  • dados

    Buffer de matriz

  • resultCode

    number

    O resultCode retornado da chamada read() subjacente.

RecvFromInfo

Propriedades

  • endereço

    string

    O endereço da máquina remota.

  • dados

    Buffer de matriz

  • porta

    number

  • resultCode

    number

    O resultCode retornado da chamada de recvfrom() subjacente.

SecureOptions

Propriedades

SocketInfo

Propriedades

  • conectado

    booleano

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

    Para soquetes tcp, isso permanecerá verdadeiro mesmo que o peering remoto tenha sido desconectado. Ler ou gravar no soquete pode resultar em um erro, indicando que ele precisa ser desconectado via 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 está vinculado ou conectado, contém o endereço IPv4/6 local dele.

  • localPort

    número opcional

    Se o soquete está 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 opcional

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

  • socketType

    O tipo do soquete transmitido. 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 compatíveis. Se min for definido como um desses valores, ele será silenciosamente restrito a tls1.2. Se max for definido como um desses valores ou qualquer outro valor não reconhecido, ele será ignorado silenciosamente.

WriteInfo

Propriedades

  • bytesWritten

    number

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

Métodos

accept()

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

Esse método se aplica apenas a soquetes TCP. Registra uma função de retorno de chamada que será chamada quando uma conexão for aceita neste soquete do servidor ouvinte. Ouvir precisa ser chamado primeiro. Se já houver um retorno de chamada de aceitação ativo, esse retorno de chamada será invocado imediatamente com um erro como resultCode.

Parâmetros

  • socketId

    number

    O socketId.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (acceptInfo: AcceptInfo) => void

bind()

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

Vincula o endereço local do soquete. Atualmente, ele não oferece suporte ao soquete TCP.

Parâmetros

  • socketId

    number

    O socketId.

  • endereço

    string

    O endereço da máquina local.

  • porta

    number

    A porta da máquina local.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

connect()

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

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

Parâmetros

  • socketId

    number

    O socketId.

  • nome do host

    string

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

  • porta

    number

    A porta da máquina remota.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

create()

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

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

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (createInfo: CreateInfo) => void

Retorna

  • Promise<CreateInfo>

    Chrome 121 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

destroy()

chrome.socket.destroy(
  socketId: number,
)

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

Parâmetros

  • socketId

    number

    O socketId.

disconnect()

chrome.socket.disconnect(
  socketId: number,
)

Desconecta o soquete. Para soquetes UDP, o disconnect é uma não operação, mas pode ser chamado com segurança.

Parâmetros

  • socketId

    number

    O socketId.

getInfo()

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

Recupera o estado do soquete em questão.

Parâmetros

  • socketId

    number

    O socketId.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (result: SocketInfo) => void

Retorna

  • Promise<SocketInfo>

    Chrome 121 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getJoinedGroups()

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

Recebe os endereços do grupo multicast a que o soquete está associado no momento.

Parâmetros

  • socketId

    number

    O socketId.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (groups: string[]) => void

    • grupos

      string[]

getNetworkList()

Promessa
chrome.socket.getNetworkList(
  callback?: function,
)

Recupera informações sobre adaptadores locais no sistema.

Parâmetros

Retorna

  • Promise<NetworkInterface[]>

    Chrome 121 ou versões mais recentes

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

joinGroup()

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

Entre no grupo multicast e comece 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

    number

    O socketId.

  • endereço

    string

    O endereço do grupo do qual participar. Não é possível usar nomes de domínio.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

leaveGroup()

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

Saia do grupo multicast já conectado usando joinGroup. Não é necessário sair do grupo multicast antes de destruir o soquete ou sair. Ele é 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 vinculado ao grupo.

Parâmetros

  • socketId

    number

    O socketId.

  • endereço

    string

    O endereço do grupo para sair. Não é possível usar nomes de domínio.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

listen()

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

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

Parâmetros

  • socketId

    number

    O socketId.

  • endereço

    string

    O endereço da máquina local.

  • porta

    number

    A porta da máquina local.

  • lista de pendências

    número opcional

    Comprimento da fila de detecção do soquete.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

read()

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

Lê dados do soquete conectado fornecido.

Parâmetros

  • socketId

    number

    O socketId.

  • bufferSize

    número opcional

    O tamanho do buffer de leitura.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (readInfo: ReadInfo) => void

recvFrom()

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

Recebe dados do soquete UDP determinado.

Parâmetros

  • socketId

    number

    O socketId.

  • bufferSize

    número opcional

    O tamanho do buffer de recebimento.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (recvFromInfo: RecvFromInfo) => void

secure()

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

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

Parâmetros

  • socketId

    number

    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 tem esta aparência:

    (result: number) => void

    • resultado

      number

sendTo()

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

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

Parâmetros

  • socketId

    number

    O socketId.

  • dados

    Buffer de matriz

    Os dados a serem gravados.

  • endereço

    string

    O endereço da máquina remota.

  • porta

    number

    A porta da máquina remota.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (writeInfo: WriteInfo) => void

setKeepAlive()

chrome.socket.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 socketId.

  • ativar

    booleano

    Se verdadeiro, ative a funcionalidade de sinal de atividade.

  • delay

    número opcional

    Defina o atraso de segundos 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: boolean) => void

    • resultado

      booleano

setMulticastLoopbackMode()

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

Defina se os pacotes multicast enviados do host para o grupo multicast serão retornados de volta para o host.

Observação: o comportamento de setMulticastLoopbackMode é um pouco diferente entre sistemas Windows e Unix. A inconsistência acontece somente quando há mais de um aplicativo no mesmo host mesclado ao mesmo grupo multicast com configurações diferentes no modo de loopback multicast. No Windows, os aplicativos com o loopback desativado não RECEBERAM os pacotes de loopback. enquanto em sistemas do tipo Unix, os aplicativos com loopback desativado não enviarão os pacotes de loopback para outros aplicativos no mesmo host. Consulte o MSDN: http://goo.gl/6vqbj

Chamar esse método não requer permissões de multicast.

Parâmetros

  • socketId

    number

    O socketId.

  • ativado

    booleano

    Indique se o modo de loopback será ativado.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

setMulticastTimeToLive()

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

Defina o time to live dos pacotes multicast enviados ao grupo multicast.

Chamar esse método não requer permissões de multicast.

Parâmetros

  • socketId

    number

    O socketId.

  • ttl

    number

    O valor da vida útil.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: number) => void

    • resultado

      number

setNoDelay()

chrome.socket.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 socketId.

  • noDelay

    booleano

    Se for verdadeiro, o algoritmo de Nagle será desativado.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (result: boolean) => void

    • resultado

      booleano

write()

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

Grava dados no soquete conectado fornecido.

Parâmetros

  • socketId

    number

    O socketId.

  • dados

    Buffer de matriz

    Os dados a serem gravados.

  • callback

    função

    O parâmetro callback tem esta aparência:

    (writeInfo: WriteInfo) => void