Descripción
Usa la API de chrome.socket
para enviar y recibir datos a través de la red con conexiones TCP y UDP. Nota: A partir de Chrome 33, esta API dejó de estar disponible y se reemplazó por las APIs de sockets.udp
, sockets.tcp
y sockets.tcpServer
.
Permisos
socket
Tipos
AcceptInfo
Propiedades
-
resultCode
número
-
socketId
número opcional
Es el ID del socket aceptado.
CreateInfo
Propiedades
-
socketId
número
El ID del socket recién creado.
CreateOptions
NetworkInterface
Propiedades
-
de la página web.
cadena
La dirección IPv4/6 disponible.
-
name
cadena
El nombre subyacente del adaptador. En *nix, generalmente será “eth0”, “lo”, etcétera.
-
prefixLength
número
La longitud del prefijo
ReadInfo
Propiedades
-
datos
ArrayBuffer
-
resultCode
número
El resultCode que se muestra de la llamada subyacente read().
RecvFromInfo
Propiedades
-
de la página web.
cadena
Es la dirección de la máquina remota.
-
datos
ArrayBuffer
-
puerto
número
-
resultCode
número
El resultCode que se muestra desde la llamada recvfrom() subyacente
SecureOptions
Propiedades
-
tlsVersion
TLSVersionConstraints opcional
SocketInfo
Propiedades
-
Conectado
boolean
Indica si el socket subyacente está conectado o no.
En el caso de los sockets
tcp
, esto permanecerá así incluso si se desconectó el par remoto. Leer o escribir en el socket puede generar un error, lo que sugiere que este socket debe desconectarse mediantedisconnect()
.En el caso de los sockets
udp
, esto solo representa si se especificó una dirección remota predeterminada para leer y escribir paquetes. -
localAddress
cadena opcional
Si el socket subyacente está vinculado o conectado, contiene su dirección IPv4/6 local.
-
localPort
número opcional
Si el socket subyacente está vinculado o conectado, contiene su puerto local.
-
peerAddress
cadena opcional
Si el socket subyacente está conectado, contiene la dirección IPv4/6 del par.
-
peerPort
número opcional
Si el socket subyacente está conectado, contiene el puerto del par conectado.
-
socketType
Es el tipo del socket pasado. Será
tcp
oudp
.
SocketType
Enum
TLSVersionConstraints
Propiedades
-
max
cadena opcional
-
min
cadena opcional
Las versiones mínima y máxima aceptables de TLS. Los valores admitidos son
tls1.2
otls1.3
.Ya no se admiten los valores
tls1
ytls1.1
. Simin
se establece en uno de estos valores, se fijará de forma silenciosa atls1.2
. Si establecesmax
en uno de esos valores o en cualquier otro valor no reconocido, se ignorará en silencio.
WriteInfo
Propiedades
-
bytesWritten
número
La cantidad de bytes enviados o un código de error negativo.
Métodos
accept()
chrome.socket.accept(
socketId: number,
callback: function,
)
Este método solo se aplica a los sockets TCP. Registra una función de devolución de llamada a la que se llamará cuando se acepte una conexión en este socket de servidor de escucha. Primero se debe llamar a la función Escuchar. Si ya hay una devolución de llamada de aceptación activa, esta se invocará de inmediato con un error como resultCode.
Parámetros
-
socketId
número
El socketId.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
)
Vincula la dirección local para el socket. Por el momento, no es compatible con el socket TCP.
Parámetros
-
socketId
número
El socketId.
-
de la página web.
cadena
Es la dirección de la máquina local.
-
puerto
número
Es el puerto de la máquina local.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
)
Conecta el socket a la máquina remota (para un socket tcp
). En un socket udp
, esto establece la dirección predeterminada a la que se envían y se leen los paquetes para las llamadas read()
y write()
.
Parámetros
-
socketId
número
El socketId.
-
Nombre de host
cadena
El nombre de host o la dirección IP de la máquina remota.
-
puerto
número
El puerto de la máquina remota.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
)
Crea un socket del tipo especificado que se conectará a la máquina remota especificada.
Parámetros
-
tipo
Es el tipo de socket que se creará. Debe ser
tcp
oudp
. -
Opciones
CreateOptions opcional
Las opciones de socket.
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(createInfo: CreateInfo) => void
-
createInfo
-
Devuelve
-
Promise<CreateInfo>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
destroy()
chrome.socket.destroy(
socketId: number,
)
Destruye el socket. Cada socket creado debe destruirse después de su uso.
Parámetros
-
socketId
número
El socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
)
Desconecta el socket. En el caso de los sockets UDP, disconnect
no está en funcionamiento, pero es seguro llamarlo.
Parámetros
-
socketId
número
El socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
)
Recupera el estado del socket determinado.
Parámetros
-
socketId
número
El socketId.
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(result: SocketInfo) => void
-
resultado
-
Devuelve
-
Promise<SocketInfo>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
)
Obtén las direcciones del grupo multicast a las que está unido el socket actualmente.
Parámetros
-
socketId
número
El socketId.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(groups: string[]) => void
-
grupos
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
)
Recupera información sobre los adaptadores locales de este sistema.
Parámetros
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(result: NetworkInterface[]) => void
-
resultado
-
Devuelve
-
Promise<NetworkInterface[]>
Chrome 121 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
)
Unirte al grupo de multicast y comenzar a recibir paquetes de ese grupo El socket debe ser de tipo UDP y debe estar vinculado a un puerto local antes de llamar a este método.
Parámetros
-
socketId
número
El socketId.
-
de la página web.
cadena
La dirección del grupo al que te unirás. No se admiten los nombres de dominio.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
)
Abandona el grupo de multicast al que te uniste anteriormente con joinGroup
. No es necesario abandonar el grupo multicast antes de destruir el socket o salir. El SO llama a esta función automáticamente.
Si abandonas el grupo, se impedirá que el router envíe datagramas multicast al host local, suponiendo que no haya ningún otro proceso del host unido al grupo.
Parámetros
-
socketId
número
El socketId.
-
de la página web.
cadena
La dirección del grupo que se debe abandonar. No se admiten los nombres de dominio.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
listen()
chrome.socket.listen(
socketId: number,
address: string,
port: number,
backlog?: number,
callback: function,
)
Este método solo se aplica a los sockets TCP. Detecta conexiones en la dirección y el puerto especificados. Esto lo convierte en un socket de servidor, y las funciones de socket del cliente (conectar, leer, escribir) ya no se pueden usar en este socket.
Parámetros
-
socketId
número
El socketId.
-
de la página web.
cadena
Es la dirección de la máquina local.
-
puerto
número
Es el puerto de la máquina local.
-
trabajo pendiente
número opcional
Longitud de la cola de escucha del socket.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
)
Lee datos del socket conectado determinado.
Parámetros
-
socketId
número
El socketId.
-
bufferSize
número opcional
El tamaño del búfer de lectura.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
)
Recibe datos del socket UDP determinado.
Parámetros
-
socketId
número
El socketId.
-
bufferSize
número opcional
Es el tamaño del búfer de recepción.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
)
Inicia una conexión de cliente TLS a través de un socket de cliente TCP conectado.
Parámetros
-
socketId
número
El zócalo conectado que se usará.
-
Opciones
SecureOptions opcional
Restricciones y parámetros para la conexión TLS.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
sendTo()
chrome.socket.sendTo(
socketId: number,
data: ArrayBuffer,
address: string,
port: number,
callback: function,
)
Envía datos del socket UDP determinado a la dirección y el puerto especificados.
Parámetros
-
socketId
número
El socketId.
-
datos
ArrayBuffer
Los datos que se escribirán.
-
de la página web.
cadena
Es la dirección de la máquina remota.
-
puerto
número
El puerto de la máquina remota.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
)
Habilita o inhabilita la funcionalidad keep-alive para una conexión TCP.
Parámetros
-
socketId
número
El socketId.
-
enable
boolean
Si es verdadero, habilita la funcionalidad keep-alive.
-
delay
número opcional
Establece el retraso en segundos entre el último paquete de datos recibido y el primer sondeo keepalive. El valor predeterminado es 0.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: boolean) => void
-
resultado
boolean
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
)
Establece si los paquetes multicast enviados desde el host al grupo multicast se volverán a repetir en bucle al host.
Nota: El comportamiento de setMulticastLoopbackMode
es ligeramente diferente entre sistemas de Windows y Unix. La incoherencia ocurre solo cuando hay más de una aplicación en el mismo host unida al mismo grupo de multicast y tienen diferentes configuraciones en el modo de bucle invertido de multicast. En Windows, las aplicaciones con bucle invertido no RECIBEN los paquetes de bucle invertido; mientras que en sistemas similares a Unix, las aplicaciones con este tipo de configuración no ENVIARÁN los paquetes de bucle invertido a otras aplicaciones del mismo host. Visita MSDN: http://goo.gl/6vqbj
Para llamar a este método, no se requieren permisos de multidifusión.
Parámetros
-
socketId
número
El socketId.
-
habilitado
boolean
Indica si deseas habilitar el modo de bucle invertido.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
)
Establecer el tiempo de actividad de los paquetes de multidifusión enviados al grupo de multicast
Para llamar a este método, no se requieren permisos de multidifusión.
Parámetros
-
socketId
número
El socketId.
-
ttl
número
El valor del tiempo de actividad.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
)
Establece o borra TCP_NODELAY
para una conexión TCP. Se inhabilitará el algoritmo de Nagle cuando se configure TCP_NODELAY
.
Parámetros
-
socketId
número
El socketId.
-
noDelay
boolean
Si es verdadero, inhabilita el algoritmo de Nagle.
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(result: boolean) => void
-
resultado
boolean
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
)
Escribe datos en el socket conectado determinado.