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
-
tlsVersion
TLSVersionConstraints opcional
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 viadisconnect()
.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
ouudp
.
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
outls1.3
.Os valores
tls1
etls1.1
não são mais compatíveis. Semin
for definido como um desses valores, ele será silenciosamente restrito atls1.2
. Semax
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
-
acceptInfo
-
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()
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
ouudp
. -
opções
CreateOptions opcional
As opções do soquete.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(createInfo: CreateInfo) => void
-
createInfo
-
Retorna
-
Promise<CreateInfo>
Chrome 121 ou versões mais recentesAs 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()
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
-
resultado
-
Retorna
-
Promise<SocketInfo>
Chrome 121 ou versões mais recentesAs 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()
chrome.socket.getNetworkList(
callback?: function,
)
Recupera informações sobre adaptadores locais no sistema.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: NetworkInterface[]) => void
-
resultado
-
Retorna
-
Promise<NetworkInterface[]>
Chrome 121 ou versões mais recentesAs 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
-
readInfo
-
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
-
recvFromInfo
-
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
-
writeInfo
-
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.