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
number 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 subjacente do adaptador. No *nix, geralmente é "eth0", "lo" etc.
-
prefixLength
número
O comprimento do prefixo
ReadInfo
Propriedades
-
dados
ArrayBuffer
-
resultCode
número
O resultCode retornado da chamada read() subjacente.
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
-
tlsVersion
TLSVersionConstraints opcional
SocketInfo
Propriedades
-
conectado
booleano
Indica se o soquete subjacente está conectado.
Para sockets
tcp
, isso vai continuar válido mesmo que o peer remoto tenha se desconectado. A leitura ou gravação no soquete pode resultar em um erro, indicando que ele precisa ser desconectado usandodisconnect()
.Para sockets
udp
, isso representa apenas se um endereço remoto padrão foi especificado para leitura e gravação de pacotes. -
localAddress
string opcional
Se o soquete subjacente estiver vinculado ou conectado, vai conter o endereço IPv4/6 local.
-
localPort
number optional
Se o soquete subjacente estiver vinculado ou conectado, vai conter a porta local.
-
peerAddress
string opcional
Se o soquete subjacente estiver conectado, vai conter o endereço IPv4/6 do peer.
-
peerPort
number optional
Se o soquete subjacente estiver conectado, vai conter a porta do peer conectado.
-
socketType
O tipo do soquete transmitido. Será
tcp
ouudp
.
SocketType
Enumeração
"tcp"
"udp"
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
outls1.3
.Os valores
tls1
etls1.1
não são mais aceitos. Semin
for definido como um desses valores, ele será ajustado silenciosamente paratls1.2
. Semax
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 de erro negativo.
Métodos
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
Esse método se aplica apenas a sockets TCP. Registra uma função de callback a ser chamada quando uma conexão é aceita no soquete do servidor de escuta. O método "Listen" precisa ser chamado 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
tem esta aparência:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Vincula o endereço local ao soquete. No momento, ele não é compatível com soquete 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
tem esta aparência:(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 onde os pacotes são enviados e de onde são 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
tem esta aparência:(result: number) => void
-
resultado
número
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
Cria um soquete do tipo especificado que se conecta à 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 de soquete.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(createInfo: CreateInfo) => void
-
createInfo
-
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 sockets UDP, disconnect
é uma não operação, mas é seguro chamar.
Parâmetros
-
socketId
número
O socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Recupera o estado do soquete especificado.
Parâmetros
-
socketId
número
O socketId.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: SocketInfo) => void
-
resultado
-
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 de grupo multicast a que o soquete está conectado no momento.
Parâmetros
-
socketId
número
O socketId.
-
callback
função
O parâmetro
callback
tem esta aparência:(groups: string[]) => void
-
grupos
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Recupera informações sobre adaptadores locais neste sistema.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: NetworkInterface[]) => void
-
resultado
-
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
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
número
O socketId.
-
endereço
string
O endereço do grupo para 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
número
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Saia do grupo de multicast em 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 a ser abandonado. Não é possível usar nomes de domínio.
-
callback
função
O parâmetro
callback
tem esta aparência:(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 sockets TCP. Detecta conexões na porta e no endereço especificados. Isso efetivamente transforma o soquete em um soquete de servidor, e as funções de soquete de cliente (connect, read, write) 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
number optional
Comprimento da fila de espera do soquete.
-
callback
função
O parâmetro
callback
tem esta aparência:(result: number) => void
-
resultado
número
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Lê dados do soquete conectado especificado.
Parâmetros
-
socketId
número
O socketId.
-
bufferSize
number optional
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,
): void
Recebe dados do soquete UDP especificado.
Parâmetros
-
socketId
número
O socketId.
-
bufferSize
number optional
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,
): void
Inicia uma conexão de cliente TLS em um soquete 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
tem esta aparência:(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 especificado para o endereço e a porta especificados.
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
tem esta aparência:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.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 socketId.
-
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: 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 o Windows e sistemas semelhantes ao Unix. A inconsistência ocorre apenas quando há mais de um aplicativo no mesmo host associado ao mesmo grupo multicast, mas com configurações diferentes no modo de loopback multicast. No Windows, os aplicativos com loopback desativado não RECEBEM os pacotes de loopback. Já em sistemas semelhantes ao 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 exige 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
tem esta aparência:(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 exige permissões de multicast.
Parâmetros
-
socketId
número
O socketId.
-
ttl
número
O valor de tempo de vida.
-
callback
função
O parâmetro
callback
tem esta aparência:(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
estiver definido.
Parâmetros
-
socketId
número
O socketId.
-
noDelay
booleano
Se for verdadeiro, desativa o algoritmo de Nagle.
-
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,
): void
Grava dados no soquete conectado especificado.