Cliente WebSocket (WinHTTP API) compatible con AutoHotKey v2. Más...
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: | |
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:
|
inlineprivate |
Destructor automático del objeto:
|
inline |
Establece la conexión con el cliente WebSocket.
| {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']
|
inlineprivate |
Envía un frame WebSocket de bajo nivel.
| {Integer} | type Tipo de frame (texto o bonario):
|
| {Integer} | buf Puntero al buffer. |
| {Integer} | size Tamaño en bytes. |
| WebSocket::onClose | ( | status | , |
| reason | ) |
Evento desencadenado cuando la conexión se cierra.
| {Integer} | status Código de cierre WebSocket. |
| {String} | reason Motivo del cierre. |
| WebSocket::onData | ( | data | , |
| size | ) |
Evento desencadenado al recibir un mensaje binario.
| {Integer} | data Puntero a los datos. |
| {Integer} | size Tamaño en bytes. |
|
inlineprivate |
Maneja errores WinHTTP:
| WebSocket::onMessage | ( | msg | ) |
Evento desencadenado al recibir un mensaje de texto UTF-8.
| {String} | msg Cadena recibida. |
|
inline |
Consulta el código y motivo de cierre enviados por el servidor.
|
inline |
Recibe un mensaje del servidor de forma bloqueante.
| {Error} | Si se utiliza en modo asíncrono. |
| WebSocket::send | ( | buf | ) |
Envía datos binarios.
| {Buffer} | buf Buffer con los datos a transmitir. |
|
inline |
Envía una cadena de texto codificada en UTF-8 al servidor.
| {String} | str Cadena UTF-8 a enviar. |
|
inline |
Cierra la conexión WebSocket de forma controlada.
Envía un frame CLOSE, actualiza el estado y libera los handlers asociados.
| readyState WebSocket::__pad2__ |
{Integer} Estado de la conexión WebSocket.
| 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.