chrome.sockets.udp

Descrição

Use a API chrome.sockets.udp para enviar e receber dados pela rede usando conexões UDP. Essa API substitui a funcionalidade de UDP anteriormente encontrada no bloco API.

Manifesto

As chaves a seguir precisam ser declaradas no manifesto para usar essa 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 os de outras APIs, como a API [socket](../socket/) 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.

Enumeração

"qualquer"

"ipv4"

"ipv6"

ReceiveErrorInfo

Propriedades

  • resultCode

    number

    O código de resultado retornado da chamada de recvfrom() subjacente.

  • socketId

    number

    O ID do soquete.

ReceiveInfo

Propriedades

  • dados

    Buffer de matriz

    O conteúdo do pacote UDP (truncado no tamanho do buffer atual).

  • remoteAddress

    string

    Endereço do host de origem do pacote.

  • remotePort

    number

    Porta do host de origem do pacote.

  • socketId

    number

    O ID do soquete.

SendInfo

Propriedades

  • bytesSent

    número opcional

    O número de bytes enviados (se o resultado for == 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.

  • localAddress

    string opcional

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

  • localPort

    número opcional

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

  • nome

    string opcional

    String definida pelo aplicativo associada ao soquete.

  • pausado

    booleano

    Sinalizador que indica se o soquete está impedido de disparar eventos onReceber.

  • persistente

    booleano

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

  • socketId

    number

    O identificador do soquete.

SocketProperties

Propriedades

  • bufferSize

    número opcional

    O tamanho do buffer usado para receber dados. Se o buffer for muito pequeno para receber o pacote UDP, os dados serão perdidos. O valor padrão é 4096.

  • nome

    string opcional

    Uma string definida pelo aplicativo associada ao soquete.

  • persistente

    booleano opcional

    Sinalização 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 é "falso". Quando o aplicativo é carregado, todos os soquetes abertos anteriormente com persistent=true podem ser buscados com getSockets.

Métodos

bind()

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

Vincula o endereço local e a porta do soquete. Para um soquete de cliente, é recomendável usar a porta 0 para permitir que a plataforma escolha uma porta livre.

Após a conclusão da operação bind, eventos onReceive são gerados quando os pacotes UDP chegam ao endereço/porta especificado, a menos que o soquete esteja pausado.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • endereço

    string

    O endereço da máquina local. O nome DNS e os formatos IPv4 e IPv6 são compatíveis. Use "0.0.0.0" para aceitar pacotes de todas as interfaces de rede locais disponíveis.

  • porta

    number

    A porta da máquina local. Usar "0" para se vincular a uma porta livre.

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

close()

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

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 será mais válido assim que a função for chamada. No entanto, o soquete será fechado somente quando o callback for invocado.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    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.

create()

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

Cria um soquete UDP com as propriedades especificadas.

Parâmetros

  • properties

    Propriedades do soquete (opcional).

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (createInfo: CreateInfo) => void

    • createInfo

      Resultado da criação do soquete.

Retorna

  • Promise&lt;CreateInfo&gt;

    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.

getInfo()

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

Recupera o estado do soquete especificado.

Parâmetros

  • socketId

    number

    O ID 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&lt;SocketInfo&gt;

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

Promessa
chrome.sockets.udp.getJoinedGroups(
  socketId: number,
  callback?: function,
)

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

Parâmetros

  • socketId

    number

    O ID do soquete.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (groups: string[]) => void

    • grupos

      string[]

      Matriz de grupos em que o soquete foi mesclado.

Retorna

  • Promise&lt;string[]&gt;

    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.

getSockets()

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

Recupera a lista de soquetes abertos no momento de propriedade do aplicativo.

Parâmetros

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (socketInfos: SocketInfo[]) => void

    • socketInfos

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

Retorna

  • Promise&lt;SocketInfo[]&gt;

    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.sockets.udp.joinGroup(
  socketId: number,
  address: string,
  callback: function,
)

Entra no grupo multicast e começa a receber pacotes desse grupo. O soquete precisa estar vinculado a uma porta local antes de chamar esse método.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • 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

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

leaveGroup()

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

Sai do grupo multicast já conectado usando joinGroup. Essa chamada só é necessária se você planeja continuar usando o soquete depois, porque isso será feito automaticamente pelo sistema operacional quando o soquete for fechado.

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

  • 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

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

send()

chrome.sockets.udp.send(
  socketId: number,
  data: ArrayBuffer,
  address: string,
  port: number,
  dnsQueryType?: DnsQueryType,
  callback: function,
)

Envia dados no soquete determinado para o endereço e a porta fornecidos. O soquete precisa estar vinculado a uma porta local antes de chamar esse método.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • dados

    Buffer de matriz

    Os dados a serem enviados.

  • endereço

    string

    O endereço da máquina remota.

  • porta

    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:

    (sendInfo: SendInfo) => void

    • sendInfo

      Resultado do método send.

setBroadcast()

Chrome 44 ou superior
chrome.sockets.udp.setBroadcast(
  socketId: number,
  enabled: boolean,
  callback: function,
)

Ativa ou desativa pacotes de transmissão neste soquete.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • ativado

    booleano

    true para ativar pacotes de transmissão, false para desativá-los.

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

setMulticastLoopbackMode()

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

Define 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 RECEBERÃO 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

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

Parâmetros

  • socketId

    number

    O ID do soquete.

  • 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

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

setMulticastTimeToLive()

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

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

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

Parâmetros

  • socketId

    number

    O ID do soquete.

  • ttl

    number

    O valor da vida útil.

  • 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.udp.setPaused(
  socketId: number,
  paused: boolean,
  callback?: function,
)

Pausa ou retoma um soquete. Um soquete pausado está impedido de disparar eventos onReceive.

Parâmetros

  • socketId

    number

  • pausado

    booleano

    Sinalização para indicar se é necessário pausar ou retomar.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    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.

update()

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

Atualiza as propriedades do soquete.

Parâmetros

  • socketId

    number

    O ID do soquete.

  • properties

    As propriedades a serem atualizadas.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    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.

Eventos

onReceive

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

Evento gerado quando um pacote UDP é recebido para o soquete específico.

Parâmetros

  • callback

    função

    O parâmetro callback tem esta aparência:

    (info: ReceiveInfo) => void

onReceiveError

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

Evento gerado quando ocorreu um erro de rede enquanto o ambiente de execução aguardava dados na porta e no endereço do soquete. Quando esse evento for gerado, o soquete será pausado e nenhum evento onReceive será gerado para ele até que o soquete seja retomado.

Parâmetros