GitHub
CHROME LIBRARY 1.1.0
¡Automiza Chrome con AHK v2!
Cargando...
Buscando...
Nada coincide
Referencia de la clase WebSocket

Cliente WebSocket (WinHTTP API) compatible con AutoHotKey v2. Más...

Diagrama de herencia de WebSocket
ChromeV2::Page JSWrapper

Clases

class  Error
 Traduce códigos de error WinHTTP a mensajes descriptivos y permite distinguir errores de red, protocolo y estado. Más...

Métodos públicos

 onOpen ()
 Evento desencadenado cuando la conexión WebSocket se ha establecido correctamente.
 onClose (status, reason)
 Evento desencadenado cuando la conexión se cierra.
 onData (data, size)
 Evento desencadenado al recibir un mensaje binario.
 onMessage (msg)
 Evento desencadenado al recibir un mensaje de texto UTF-8.
 reconnect ()
 Vuelve a establecer la conexión con el WebSocket utilizando los mismos parámetros originales.
 __New (Url, Events :=0, Async :=true, Headers :='', TimeOut :=0, InitialSize :=8192)
 Establece la conexión con el cliente WebSocket.
 queryCloseStatus ()
 Consulta el código y motivo de cierre enviados por el servidor.
 sendText (str)
 Envía una cadena de texto codificada en UTF-8 al servidor.
 send (buf)
 Envía datos binarios.
 receive ()
 Recibe un mensaje del servidor de forma bloqueante.
 shutdown ()
 Cierra la conexión WebSocket de forma controlada.

Atributos públicos

Ptr := 0
 {Integer} Identificador interno del WebSocket (HINTERNET).
async := 0
 {Boolean} Modo de funcionamiento: true modo asíncrono, false modo síncrono.
readyState := 0
 {Integer} Estado de la conexión WebSocket.
url := ''
 {String} URL original del servidor WebSocket proporcionada al crear la instancia.
HINTERNETs := []
 {Array} Lista interna de todos los handles WinHTTP creados durante el ciclo de vida del objeto (hSession, hConnect, hRequest, hWebSocket).

Métodos privados

 _send (type, buf, size)
 Envía un frame WebSocket de bajo nivel.
 __Delete ()
 Destructor automático del objeto:
 onError (err, what :=0)
 Maneja errores WinHTTP:

Descripción detallada

Cliente WebSocket (WinHTTP API) compatible con AutoHotKey v2.

Administra la conexión, eventos, envío y recepción de datos binarios y texto UTF-8, memoria y traducción de errores del sistema. La comunicación puede ser tanto síncrona como asíncrona.

Ejemplo de uso:

ws := WebSocket(wss_or_ws_url, {
message: (self, data) => FileAppend(Data '`n', '*', 'utf-8'),
close: (self, status, reason) => FileAppend(status ' ' reason '`n', '*', 'utf-8')
})
ws.sendText('hello'), Sleep(100)
ws.send(0, Buffer(10), 10), Sleep(100)
Cliente WebSocket (WinHTTP API) compatible con AutoHotKey v2.
Definition WebSocket.ahk:31
sendText(str)
Envía una cadena de texto codificada en UTF-8 al servidor.
Definition WebSocket.ahk:349
send(buf)
Envía datos binarios.
Autor
thqby
ChatGPT (documentation)
Fecha
04/02/2026
Versión
1.0.7 @Warning Dependencias:
  • winhttp.dll
Ver también
https://websocket.org/reference/websocket-api
https://github.com/thqby/ahk2_lib/blob/master/WebSocket.ahk
https://github.com/bitasuperactive/ahk2-chrome-library/blob/master/ChromeLibrary/ChromeBridge/WebSocket.ahk

Documentación de funciones miembro

◆ __Delete()

WebSocket::__Delete ( )
inlineprivate

Destructor automático del objeto:

  • Cierra la conexión si sigue activa.
  • Libera todos los handles WinHTTP.
  • Evita fugas de memoria.

◆ __New()

WebSocket::__New ( Url ,
Events : = 0,
Async : = true,
Headers : = '',
TimeOut : = 0,
InitialSize : = 8192 )
inline

Establece la conexión con el cliente WebSocket.

Parámetros
{String}Url Dirección del servidor WebSocket (ws:// o wss://).
{Object}Events (Opcional) Un objeto de { open:(this)=>void, data:(this, data, size)=>bool, message:(this, msg)=>bool, close:(this, status, reason)=>void }
{Boolean}Async (Opcional) Si utilizar el modo asíncrono. Por defecto: true.
{Object|Map|String}Headers (Opcional) Cabeceras adicionales para las conexiones.
{Integer}TimeOut (Opcional) Tiempo máximo para las comunicaciones con el servidor: resolve, connect, send y receive.
{Integer}InitialSize (Opcional) Tamaño inicial del buffer de recepción. Por defecto: 8192 bytes.

+F7Q+EZP///0jHRCQ4DgAHgOuM']

◆ _send()

WebSocket::_send ( type ,
buf ,
size  )
inlineprivate

Envía un frame WebSocket de bajo nivel.

Parámetros
{Integer}type Tipo de frame (texto o bonario):
  • 0 → BINARY_MESSAGE
  • 1 → BINARY_FRAGMENT
  • 2 → UTF8_MESSAGE
  • 3 → UTF8_FRAGMENT
{Integer}buf Puntero al buffer.
{Integer}size Tamaño en bytes.

◆ onClose()

WebSocket::onClose ( status ,
reason  )

Evento desencadenado cuando la conexión se cierra.

Parámetros
{Integer}status Código de cierre WebSocket.
{String}reason Motivo del cierre.

◆ onData()

WebSocket::onData ( data ,
size  )

Evento desencadenado al recibir un mensaje binario.

Parámetros
{Integer}data Puntero a los datos.
{Integer}size Tamaño en bytes.

◆ onError()

WebSocket::onError ( err ,
what : = 0 )
inlineprivate

Maneja errores WinHTTP:

  • Traduce códigos de error a mensajes legibles.
  • Gestiona cierres anómalos.
  • Lanza excepciones cuando corresponde.

◆ onMessage()

WebSocket::onMessage ( msg )

Evento desencadenado al recibir un mensaje de texto UTF-8.

Parámetros
{String}msg Cadena recibida.

◆ queryCloseStatus()

WebSocket::queryCloseStatus ( )
inline

Consulta el código y motivo de cierre enviados por el servidor.

Devuelve
{Object} Con el status y reason.

◆ receive()

WebSocket::receive ( )
inline

Recibe un mensaje del servidor de forma bloqueante.

Devuelve
{void | String | Buffer} String si es un mensaje de texto, o Buffer si es binario.
Excepciones
{Error}Si se utiliza en modo asíncrono.

◆ send()

WebSocket::send ( buf )

Envía datos binarios.

Parámetros
{Buffer}buf Buffer con los datos a transmitir.

◆ sendText()

WebSocket::sendText ( str )
inline

Envía una cadena de texto codificada en UTF-8 al servidor.

Parámetros
{String}str Cadena UTF-8 a enviar.

◆ shutdown()

WebSocket::shutdown ( )
inline

Cierra la conexión WebSocket de forma controlada.

Envía un frame CLOSE, actualiza el estado y libera los handlers asociados.

Documentación de datos miembro

◆ __pad2__

readyState WebSocket::__pad2__

{Integer} Estado de la conexión WebSocket.

  • 0 → CONNECTING: La conexión se está estableciendo.
  • 1 → OPEN: La conexión está abierta y operativa.
  • 2 → CLOSING: Se está cerrando la conexión.
  • 3 → CLOSED: La conexión está cerrada o ha fallado.

◆ __pad4__

HINTERNETs WebSocket::__pad4__

{Array} Lista interna de todos los handles WinHTTP creados durante el ciclo de vida del objeto (hSession, hConnect, hRequest, hWebSocket).

Se utiliza para garantizar una liberación correcta de recursos.