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
socketTipos
AcceptInfo
Propiedades
-
resultCode
número
-
socketId
number opcional
Es el ID del socket aceptado.
CreateInfo
Propiedades
-
socketId
número
Es el ID del socket recién creado.
CreateOptions
NetworkInterface
Propiedades
-
dirección
string
La dirección IPv4/6 disponible.
-
nombre
string
Es el nombre subyacente del adaptador. En *nix, suele ser "eth0", "lo", etc.
-
prefixLength
número
La longitud de prefijo
ReadInfo
Propiedades
-
datos
ArrayBuffer
-
resultCode
número
Es el resultCode que se muestra desde la llamada read() subyacente.
RecvFromInfo
Propiedades
-
dirección
string
Es la dirección de la máquina remota.
-
datos
ArrayBuffer
-
puerto
número
-
resultCode
número
Es el resultCode que se muestra desde la llamada recvfrom() subyacente.
SecureOptions
Propiedades
-
tlsVersion
TLSVersionConstraints opcional
SocketInfo
Propiedades
-
Conectado
booleano
Indica si el socket subyacente está conectado o no.
En el caso de los sockets
tcp, esto seguirá siendo así incluso si el par remoto se desconectó. La lectura o escritura en el socket puede generar un error, lo que indica que este socket se debe desconectar a través dedisconnect().En el caso de los sockets
udp, esto solo representa si se especificó una dirección remota predeterminada para leer y escribir paquetes. -
localAddress
string opcional
Si el socket subyacente está vinculado o conectado, contiene su dirección IPv4/6 local.
-
localPort
number opcional
Si el socket subyacente está vinculado o conectado, contiene su puerto local.
-
peerAddress
string opcional
Si el socket subyacente está conectado, contiene la dirección IPv4/6 del par.
-
peerPort
number opcional
Si el socket subyacente está conectado, contiene el puerto del par conectado.
-
socketType
Es el tipo de socket que se pasó. Será
tcpoudp.
SocketType
Enum
"tcp"
"udp"
TLSVersionConstraints
Propiedades
-
máx.
string opcional
-
min
string opcional
Las versiones mínima y máxima aceptables de TLS. Los valores admitidos son
tls1.2otls1.3.Ya no se admiten los valores
tls1nitls1.1. Siminse establece en uno de estos valores, se limitará de forma silenciosa atls1.2. Simaxse establece en uno de esos valores o en cualquier otro valor no reconocido, se ignorará de forma silenciosa.
WriteInfo
Propiedades
-
bytesWritten
número
Es la cantidad de bytes enviados o un código de error negativo.
Métodos
accept()
chrome.socket.accept(
socketId: number,
callback: function,
): void
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 Listen. 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
Es el socketId.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(acceptInfo: AcceptInfo) => void
-
acceptInfo
-
bind()
chrome.socket.bind(
socketId: number,
address: string,
port: number,
callback: function,
): void
Vincula la dirección local para el socket. Actualmente, no admite sockets TCP.
Parámetros
-
socketId
número
Es el socketId.
-
dirección
string
Es la dirección de la máquina local.
-
puerto
número
Es el puerto de la máquina local.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
connect()
chrome.socket.connect(
socketId: number,
hostname: string,
port: number,
callback: function,
): void
Conecta el socket a la máquina remota (para un socket tcp). En el caso de un socket udp, se establece la dirección predeterminada a la que se envían los paquetes y desde la que se leen para las llamadas read() y write().
Parámetros
-
socketId
número
Es el socketId.
-
Nombre de host
string
Es el nombre de host o la dirección IP de la máquina remota.
-
puerto
número
Es el puerto de la máquina remota.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
create()
chrome.socket.create(
type: SocketType,
options?: CreateOptions,
callback?: function,
): Promise<CreateInfo>
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
tcpoudp. -
opciones
CreateOptions opcional
Son las opciones de socket.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(createInfo: CreateInfo) => void
-
createInfo
-
Muestra
-
Promise<CreateInfo>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
destroy()
chrome.socket.destroy(
socketId: number,
): void
Destruye el socket. Cada socket creado debe destruirse después de su uso.
Parámetros
-
socketId
número
Es el socketId.
disconnect()
chrome.socket.disconnect(
socketId: number,
): void
Desconecta el socket. Para los sockets UDP, disconnect no es una operación, pero es seguro llamarlo.
Parámetros
-
socketId
número
Es el socketId.
getInfo()
chrome.socket.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Recupera el estado del socket determinado.
Parámetros
-
socketId
número
Es el socketId.
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(result: SocketInfo) => void
-
resultado
-
Muestra
-
Promise<SocketInfo>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getJoinedGroups()
chrome.socket.getJoinedGroups(
socketId: number,
callback: function,
): void
Obtiene las direcciones de grupos de multidifusión a las que está unido el socket actualmente.
Parámetros
-
socketId
número
Es el socketId.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(groups: string[]) => void
-
grupos
string[]
-
getNetworkList()
chrome.socket.getNetworkList(
callback?: function,
): Promise<NetworkInterface[]>
Recupera información sobre los adaptadores locales de este sistema.
Parámetros
-
callback
función opcional
El parámetro
callbackse ve de la siguiente manera:(result: NetworkInterface[]) => void
-
resultado
-
Muestra
-
Promise<NetworkInterface[]>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
joinGroup()
chrome.socket.joinGroup(
socketId: number,
address: string,
callback: function,
): void
Unirse al grupo de multidifusión 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
Es el socketId.
-
dirección
string
Es la dirección del grupo al que se unirá el usuario. No se admiten nombres de dominios.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
leaveGroup()
chrome.socket.leaveGroup(
socketId: number,
address: string,
callback: function,
): void
Abandona el grupo de multicast al que te uniste anteriormente con joinGroup. No es necesario abandonar el grupo de multicast antes de destruir el socket o salir. El SO llama a este método automáticamente.
Si se abandona el grupo, se evitará que el router envíe datagramas de multidifusión al host local, suponiendo que ningún otro proceso del host siga unido al grupo.
Parámetros
-
socketId
número
Es el socketId.
-
dirección
string
Es la dirección del grupo que se abandonará. No se admiten nombres de dominios.
-
callback
función
El parámetro
callbackse 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,
): void
Este método solo se aplica a los sockets de TCP. Escucha las conexiones en el puerto y la dirección especificados. Esto hace que este socket sea un socket de servidor, y las funciones de socket de cliente (connect, read, write) ya no se pueden usar en este socket.
Parámetros
-
socketId
número
Es el socketId.
-
dirección
string
Es la dirección de la máquina local.
-
puerto
número
Es el puerto de la máquina local.
-
lista de tareas pendientes
number opcional
Es la longitud de la cola de escucha del socket.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
read()
chrome.socket.read(
socketId: number,
bufferSize?: number,
callback: function,
): void
Lee datos del socket conectado determinado.
Parámetros
-
socketId
número
Es el socketId.
-
bufferSize
number opcional
Es el tamaño del búfer de lectura.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(readInfo: ReadInfo) => void
-
readInfo
-
recvFrom()
chrome.socket.recvFrom(
socketId: number,
bufferSize?: number,
callback: function,
): void
Recibe datos del socket UDP determinado.
Parámetros
-
socketId
número
Es el socketId.
-
bufferSize
number opcional
Es el tamaño del búfer de recepción.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(recvFromInfo: RecvFromInfo) => void
-
recvFromInfo
-
secure()
chrome.socket.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Inicia una conexión de cliente TLS a través de un socket de cliente TCP conectado.
Parámetros
-
socketId
número
Es el socket conectado que se usará.
-
opciones
SecureOptions opcional
Restricciones y parámetros para la conexión TLS.
-
callback
función
El parámetro
callbackse 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,
): void
Envía datos en el socket UDP determinado a la dirección y el puerto especificados.
Parámetros
-
socketId
número
Es el socketId.
-
datos
ArrayBuffer
Son los datos que se escribirán.
-
dirección
string
Es la dirección de la máquina remota.
-
puerto
número
Es el puerto de la máquina remota.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(writeInfo: WriteInfo) => void
-
writeInfo
-
setKeepAlive()
chrome.socket.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Habilita o inhabilita la funcionalidad de mantener activa una conexión TCP.
Parámetros
-
socketId
número
Es el socketId.
-
habilitar
booleano
Si es verdadero, habilita la funcionalidad de mantener activa la conexión.
-
delay
number opcional
Establece los segundos de retraso entre el último paquete de datos recibido y el primer sondeo de keepalive. El valor predeterminado es 0.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: boolean) => void
-
resultado
booleano
-
setMulticastLoopbackMode()
chrome.socket.setMulticastLoopbackMode(
socketId: number,
enabled: boolean,
callback: function,
): void
Establece si los paquetes de multidifusión enviados desde el host al grupo de multidifusión se devolverán al host.
Nota: El comportamiento de setMulticastLoopbackMode es un poco diferente entre Windows y los sistemas similares a Unix. La incoherencia solo se produce cuando hay más de una aplicación en el mismo host unida al mismo grupo de multicast, pero con diferentes parámetros de configuración en el modo de bucle invertido de multicast. En Windows, las aplicaciones con el bucle de retorno desactivado no RECIBIRÁN los paquetes de bucle de retorno, mientras que, en los sistemas similares a Unix, las aplicaciones con el bucle de retorno desactivado no ENVIARÁN los paquetes de bucle de retorno a otras aplicaciones en el mismo host. Consulta MSDN: https://learn.microsoft.com/es-es/windows/win32/winsock/ip-multicast-2
La llamada a este método no requiere permisos de multidifusión.
Parámetros
-
socketId
número
Es el socketId.
-
habilitado
booleano
Indica si se debe habilitar el modo de bucle invertido.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
setMulticastTimeToLive()
chrome.socket.setMulticastTimeToLive(
socketId: number,
ttl: number,
callback: function,
): void
Establece el tiempo de actividad de los paquetes de multicast enviados al grupo de multicast.
La llamada a este método no requiere permisos de multidifusión.
Parámetros
-
socketId
número
Es el socketId.
-
ttl
número
Es el valor del tiempo de actividad.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: number) => void
-
resultado
número
-
setNoDelay()
chrome.socket.setNoDelay(
socketId: number,
noDelay: boolean,
callback: function,
): void
Establece o borra TCP_NODELAY para una conexión TCP. El algoritmo de Nagle se inhabilitará cuando se establezca TCP_NODELAY.
Parámetros
-
socketId
número
Es el socketId.
-
noDelay
booleano
Si es verdadero, inhabilita el algoritmo de Nagle.
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(result: boolean) => void
-
resultado
booleano
-
write()
chrome.socket.write(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Escribe datos en el socket conectado determinado.