Descripción
Usa la API de chrome.sockets.tcp
para enviar y recibir datos a través de la red con conexiones TCP. Esta API reemplaza la funcionalidad de TCP que se encontraba anteriormente en la API de chrome.socket
.
Manifiesto
Tipos
CreateInfo
Propiedades
-
socketId
número
Es el ID del socket recién creado. Ten en cuenta que los IDs de socket creados a partir de esta API no son compatibles con los IDs de socket creados a partir de otras APIs, como la API de
[
socket](../socket/)
obsoleta.
DnsQueryType
Preferencias de resolución de DNS. El valor predeterminado es any
y usa la configuración actual del SO, que puede devolver IPv4 o IPv6. ipv4
fuerza IPv4 y ipv6
fuerza IPv6.
Enum
"any"
"ipv4"
"ipv6"
ReceiveErrorInfo
Propiedades
-
resultCode
número
Es el código de resultado que se devolvió de la llamada de red subyacente.
-
socketId
número
Es el identificador del socket.
ReceiveInfo
Propiedades
-
datos
ArrayBuffer
Son los datos recibidos, con un tamaño máximo de
bufferSize
. -
socketId
número
Es el identificador del socket.
SecureOptions
Propiedades
-
tlsVersion
TLSVersionConstraints opcional
SendInfo
Propiedades
-
bytesSent
número opcional
Cantidad de bytes enviados (si result == 0)
-
resultCode
número
Es el código de resultado que se devolvió de la llamada de red subyacente. Un valor negativo indica un error.
SocketInfo
Propiedades
-
bufferSize
número opcional
Es el tamaño del búfer que se usa para recibir datos. Si no se especificó un tamaño de búfer de forma explícita, no se proporciona el valor.
-
Conectado
booleano
Es una marca que indica si el socket está conectado a un par remoto.
-
localAddress
cadena opcional
Si el socket subyacente está conectado, contiene su dirección IPv4/6 local.
-
localPort
número opcional
Si el socket subyacente está conectado, contiene su puerto local.
-
nombre
cadena opcional
Es una cadena definida por la aplicación y asociada al socket.
-
detenido
booleano
Es una marca que indica si un socket conectado impide que su par envíe más datos (consulta
setPaused
). -
peerAddress
cadena opcional
Si el socket subyacente está conectado, contiene la dirección IPv4/6 o de par.
-
peerPort
número opcional
Si el socket subyacente está conectado, contiene el puerto del par.
-
persistentes
booleano
Es una marca que indica si el socket se deja abierto cuando se suspende la aplicación (consulta
SocketProperties.persistent
). -
socketId
número
Es el identificador del socket.
SocketProperties
Propiedades
-
bufferSize
número opcional
Es el tamaño del búfer que se usa para recibir datos. El valor predeterminado es 4096.
-
nombre
cadena opcional
Es una cadena definida por la aplicación y asociada al socket.
-
persistentes
booleano opcional
Es una marca que indica si el socket permanece abierto cuando se descarga la página de eventos de la aplicación (consulta Cómo administrar el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier socket que se haya abierto previamente con persistent=true se puede recuperar con
getSockets
.
TLSVersionConstraints
Propiedades
-
máx.
cadena opcional
-
min
cadena opcional
Son las versiones mínima y máxima aceptables de TLS. Los valores admitidos son
tls1.2
otls1.3
.Los valores
tls1
ytls1.1
ya no se admiten. Simin
se establece en uno de estos valores, se ajustará de forma silenciosa atls1.2
. Simax
se establece en uno de esos valores o en cualquier otro valor no reconocido, se ignorará de forma silenciosa.
Métodos
close()
chrome.sockets.tcp.close(
socketId: number,
callback?: function,
): Promise<void>
Cierra el socket y libera la dirección o el puerto al que está vinculado. Cada socket creado debe cerrarse después de usarse. El ID de socket ya no es válido en cuanto se llama a la función. Sin embargo, se garantiza que el socket se cerrará solo cuando se invoque la devolución de llamada.
Parámetros
-
socketId
número
Es el identificador del socket.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
connect()
chrome.sockets.tcp.connect(
socketId: number,
peerAddress: string,
peerPort: number,
dnsQueryType?: DnsQueryType,
callback: function,
): void
Conecta el socket a una máquina remota. Cuando la operación connect
se completa correctamente, se generan eventos onReceive
cuando se reciben datos del par. Si se produce un error de red mientras el tiempo de ejecución recibe paquetes, se genera un evento onReceiveError
, momento en el que no se generará ningún otro evento onReceive
para este socket hasta que se llame al método resume
.
Parámetros
-
socketId
número
Es el identificador del socket.
-
peerAddress
string
Es la dirección de la máquina remota. Se admiten los formatos de nombre de DNS, IPv4 e IPv6.
-
peerPort
número
Es el puerto de la máquina remota.
-
dnsQueryType
DnsQueryType opcional
Chrome 103 y versiones posterioresEs la preferencia de resolución de direcciones.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devolvió de la llamada de red subyacente. Un valor negativo indica un error.
-
create()
chrome.sockets.tcp.create(
properties?: SocketProperties,
callback?: function,
): Promise<CreateInfo>
Crea un socket TCP.
Parámetros
-
properties
SocketProperties opcional
Propiedades del socket (opcional).
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(createInfo: CreateInfo) => void
-
createInfo
Es el resultado de la creación del socket.
-
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.
disconnect()
chrome.sockets.tcp.disconnect(
socketId: number,
callback?: function,
): Promise<void>
Desconecta el socket.
Parámetros
-
socketId
número
Es el identificador del socket.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getInfo()
chrome.sockets.tcp.getInfo(
socketId: number,
callback?: function,
): Promise<SocketInfo>
Recupera el estado del socket determinado.
Parámetros
-
socketId
número
Es el identificador del socket.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(socketInfo: SocketInfo) => void
-
socketInfo
Objeto que contiene la información del socket.
-
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.
getSockets()
chrome.sockets.tcp.getSockets(
callback?: function,
): Promise<SocketInfo[]>
Recupera la lista de los sockets abiertos actualmente que son propiedad de la aplicación.
Parámetros
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(socketInfos: SocketInfo[]) => void
-
socketInfos
Es un array de objetos que contiene información de los sockets.
-
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.
secure()
chrome.sockets.tcp.secure(
socketId: number,
options?: SecureOptions,
callback: function,
): void
Inicia una conexión de cliente TLS a través del socket de cliente TCP conectado.
Parámetros
-
socketId
número
Es el socket existente y conectado que se usará.
-
opciones
SecureOptions opcional
Son las restricciones y los parámetros de la conexión TLS.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
-
send()
chrome.sockets.tcp.send(
socketId: number,
data: ArrayBuffer,
callback: function,
): void
Envía datos en el socket TCP determinado.
Parámetros
-
socketId
número
Es el identificador del socket.
-
datos
ArrayBuffer
Son los datos que se enviarán.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(sendInfo: SendInfo) => void
-
sendInfo
Es el resultado del método
send
.
-
setKeepAlive()
chrome.sockets.tcp.setKeepAlive(
socketId: number,
enable: boolean,
delay?: number,
callback: function,
): void
Habilita o inhabilita la funcionalidad de keep-alive para una conexión TCP.
Parámetros
-
socketId
número
Es el identificador del socket.
-
habilitar
booleano
Si es verdadero, habilita la funcionalidad de mantener la conexión activa.
-
delay
número opcional
Establece los segundos de retraso entre el último paquete de datos recibido y el primer sondeo de Keep-Alive. El valor predeterminado es 0.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devolvió de la llamada de red subyacente. Un valor negativo indica un error.
-
setNoDelay()
chrome.sockets.tcp.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 identificador del socket.
-
noDelay
booleano
Si es verdadero, inhabilita el algoritmo de Nagle.
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(result: number) => void
-
resultado
número
Es el código de resultado que se devolvió de la llamada de red subyacente. Un valor negativo indica un error.
-
setPaused()
chrome.sockets.tcp.setPaused(
socketId: number,
paused: boolean,
callback?: function,
): Promise<void>
Habilita o inhabilita la aplicación para que reciba mensajes de su par. El valor predeterminado es "false". Por lo general, una aplicación pausa un socket para limitar los datos que envía su par. Cuando se pausa un socket, no se genera ningún evento onReceive
. Cuando un socket se conecta y se reanuda, se vuelven a generar eventos onReceive
cuando se reciben mensajes.
Parámetros
-
socketId
número
-
detenido
booleano
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
update()
chrome.sockets.tcp.update(
socketId: number,
properties: SocketProperties,
callback?: function,
): Promise<void>
Actualiza las propiedades del socket.
Parámetros
-
socketId
número
Es el identificador del socket.
-
properties
Son las propiedades que se actualizarán.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Muestra
-
Promise<void>
Chrome 121 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
Eventos
onReceive
chrome.sockets.tcp.onReceive.addListener(
callback: function,
)
Evento que se genera cuando se reciben datos para un socket determinado.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveInfo) => void
-
información
-
onReceiveError
chrome.sockets.tcp.onReceiveError.addListener(
callback: function,
)
Evento que se genera cuando se produce un error de red mientras el tiempo de ejecución espera datos en la dirección y el puerto del socket. Una vez que se genera este evento, el socket se establece en paused
y no se generan más eventos onReceive
para este socket.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-