Inicio con WebSocket
Conectar
Sección titulada «Conectar»Usa el siguiente destino y sustituye el nombre de cliente por el de tu aplicación:
ws://127.0.0.1:42070/?client=YourAppEl parámetro de consulta client es obligatorio. Codifica para URL los nombres que contengan espacios o caracteres especiales.
Enviar un sobre
Sección titulada «Enviar un sobre»Envía un mensaje de texto con el comando SendNotification. jsonData debe ser una cadena que codifique JSON, no un objeto anidado.
{ "sender": "YourApp", "target": "AstralOverlay", "command": "SendNotification", "jsonData": "{\"title\":\"Hello from YourApp\",\"content\":\"Your first notification.\",\"sourceApp\":\"YourApp\"}"}La implementación actual lee command y jsonData; no enruta notificaciones con sender ni target. Los demás comandos se ignoran. Un envío correcto no es una confirmación de entrega. El campo target es opcional y se ignora; los ejemplos usan AstralOverlay como etiqueta descriptiva. También puedes omitirlo.
Ejemplo Python
Sección titulada «Ejemplo Python»Instala la biblioteca cliente:
python -m pip install websocket-clientimport jsonfrom websocket import create_connection
payload = { "title": "Build complete", "content": "Your project is ready.", "sourceApp": "BuildHelper", "timeout": 5.0,}message = { "sender": "BuildHelper", "target": "AstralOverlay", "command": "SendNotification", "jsonData": json.dumps(payload),}with create_connection("ws://127.0.0.1:42070/?client=BuildHelper") as connection: connection.send(json.dumps(message))Ejemplo C#
Sección titulada «Ejemplo C#»Para una aplicación de consola .NET moderna:
using System;using System.Net.WebSockets;using System.Text;using System.Text.Json;using System.Threading;
using var socket = new ClientWebSocket();using var timeout = new CancellationTokenSource(TimeSpan.FromSeconds(5));await socket.ConnectAsync( new Uri("ws://127.0.0.1:42070/?client=BuildHelper"), timeout.Token);
var payload = new { title = "Build complete", content = "Your project is ready.", sourceApp = "BuildHelper", timeout = 5.0};var envelope = new { sender = "BuildHelper", target = "AstralOverlay", command = "SendNotification", jsonData = JsonSerializer.Serialize(payload)};var bytes = Encoding.UTF8.GetBytes(JsonSerializer.Serialize(envelope));await socket.SendAsync( new ArraySegment<byte>(bytes), WebSocketMessageType.Text, true, timeout.Token);Este ejemplo desconecta al terminar. Una integración de larga duración puede reutilizar la conexión y debería reconectar tras errores de conexión.
Consulta la referencia de datos y los límites de compatibilidad.
