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
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. No *nix, isso geralmente é "eth0", "lo" etc.
-
prefixLength
number
O comprimento do prefixo
ReadInfo
Propriedades
-
dados
ArrayBuffer
-
resultCode
number
O resultCode retornado pela chamada de read() subjacente.
RecvFromInfo
Propriedades
-
endereço
string
O endereço da máquina remota.
-
dados
ArrayBuffer
-
porta
number
-
resultCode
number
O resultCode retornado da chamada recvfrom() subjacente.
SecureOptions
Propriedades
-
tlsVersion
TLSVersionConstraints opcional
SocketInfo
Propriedades
-
conectado
booleano
Indica se o socket subjacente está conectado ou não.
Para soquetes
tcp
, isso vai continuar verdadeiro 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 pordisconnect()
.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 socket de origem estiver vinculado ou conectado, ele conterá o endereço IPv4/6 local.
-
localPort
número opcional
Se o soquete subjacente estiver vinculado ou conectado, ele conterá a porta local.
-
peerAddress
string opcional
Se o socket de origem estiver conectado, conterá o endereço IPv4/6 do peer.
-
peerPort
número opcional
Se o socket subjacente estiver conectado, conterá a porta do peer conectado.
-
socketType
O tipo de 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 de 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á fixado silenciosamente emtls1.2
. Semax
for definido como um desses valores ou qualquer outro valor não reconhecido, ele será ignorado.
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 callback a ser chamada quando uma conexão for aceita nesse soquete do servidor ouvinte. 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 o resultCode.
Parâmetros
-
socketId
number
O socketId.
-
callback
função
O parâmetro
callback
tem este formato:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Vincula o endereço local para o socket. No momento, ele não oferece suporte a soquetes 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 este formato:(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 para o qual 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 este formato:(result: number) => void
-
resultado
number
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Cria um soquete do tipo especificado que será conectado à 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 este formato:(createInfo: CreateInfo) => void
-
createInfo
-
Retorna
-
Promise<CreateInfo>
Chrome 121 e versões mais recentesAs promessas têm suporte apenas para o Manifest 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, disconnect
é uma operação não executada, mas é seguro fazer a chamada.
Parâmetros
-
socketId
number
O socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Recupera o estado do soquete fornecido.
Parâmetros
-
socketId
number
O socketId.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: SocketInfo) => void
-
resultado
-
Retorna
-
Promessa<SocketInfo>
Chrome 121 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Recebe os endereços de grupo multicast aos quais o soquete está conectado.
Parâmetros
-
socketId
number
O socketId.
-
callback
função
O parâmetro
callback
tem este formato:(groups: string[]) => void
-
grupos
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Recupera informações sobre adaptadores locais neste sistema.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: NetworkInterface[]) => void
-
resultado
-
Retorna
-
Promise<NetworkInterface[]>
Chrome 121 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Entrar no grupo de multicast e começar a receber pacotes dele. O socket precisa ser do tipo UDP e ser 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 a ser adicionado. Não é possível usar nomes de domínio.
-
callback
função
O parâmetro
callback
tem este formato:(result: number) => void
-
resultado
number
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Saia do grupo multicast adicionado anteriormente usando joinGroup
. Não é necessário sair do grupo de multicast antes de destruir o socket 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
number
O socketId.
-
endereço
string
O endereço do grupo que você quer deixar. Não é possível usar nomes de domínio.
-
callback
função
O parâmetro
callback
tem este formato:(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 torna o socket um socket do servidor, e as funções do socket do cliente (conexão, leitura, gravação) não podem mais ser usadas nesse socket.
Parâmetros
-
socketId
number
O socketId.
-
endereço
string
O endereço da máquina local.
-
porta
number
A porta da máquina local.
-
backlog
número opcional
Comprimento da fila de escuta do socket.
-
callback
função
O parâmetro
callback
tem este formato:(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 este formato:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Recebe dados do soquete UDP fornecido.
Parâmetros
-
socketId
number
O socketId.
-
bufferSize
número opcional
O tamanho do buffer de recebimento.
-
callback
função
O parâmetro
callback
tem este formato:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Inicie uma conexão de 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 este formato:(result: number) => void
-
resultado
number
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Envia dados no soquete UDP especificado para o endereço e a porta especificados.
Parâmetros
-
socketId
number
O socketId.
-
dados
ArrayBuffer
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 este formato:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Ativa ou desativa a funcionalidade keep-alive de uma conexão TCP.
Parâmetros
-
socketId
number
O socketId.
-
ativar
booleano
Se verdadeiro, ativa a funcionalidade de keep-alive.
-
delay
número opcional
Defina o atraso em segundos entre o último pacote de dados recebido e a primeira sondagem de manutenção. O padrão é 0.
-
callback
função
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Define se os pacotes multicast enviados do host para o grupo multicast serão repetidos para o host.
Observação: o comportamento de setMulticastLoopbackMode
é um pouco diferente entre sistemas Windows e Unix. A inconsistência só acontece quando há mais de um aplicativo no mesmo host conectado ao mesmo grupo de multicast e 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 semelhantes ao Unix, os aplicativos com loopback desativado não ENVIAM os pacotes de loopback para outros aplicativos no mesmo host. Consulte o MSDN: http://goo.gl/6vqbj
Chamar esse método não exige permissões de multicast.
Parâmetros
-
socketId
number
O socketId.
-
ativado
booleano
Indica se o modo de loopback está ativado.
-
callback
função
O parâmetro
callback
tem este formato:(result: number) => void
-
resultado
number
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Define o tempo de vida dos pacotes multicast enviados para o grupo multicast.
Chamar esse método não exige permissões de multicast.
Parâmetros
-
socketId
number
O socketId.
-
ttl
number
O valor de time to live.
-
callback
função
O parâmetro
callback
tem este formato:(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 de Nagle será desativado quando TCP_NODELAY
for definido.
Parâmetros
-
socketId
number
O socketId.
-
noDelay
booleano
Se verdadeiro, desativa o algoritmo de Nagle.
-
callback
função
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Grava dados no soquete conectado fornecido.