Conexión, suscripción y latido

Conéctate a 6MM WebSocket retransmisiones, suscríbete a temas, mantén vivas las conexiones y procesa los sobres de los mensajes de forma segura.

Ver como Markdown

Utiliza WebSocket flujos para datos de mercado y actualizaciones privadas del estado del usuario que deben mantenerse actualizadas sin necesidad de sondeos.

Conexión URL

wss://ws.6mm.com/ws

Los flujos privados requieren un contexto de autenticación como un listenKey o un token de acceso, tal y como se describe en la documentación del canal privado.

Suscríbete

1{ "id": "1772007814666", "op": "subscribe", "args": ["market.depth.BTCUSDT"] }

Reconocimiento de suscripción exitoso:

1{
2 "id": "1772007814666",
3 "event": "subscribe",
4 "success": true,
5 "data": ["market.depth.BTCUSDT"]
6}

Cancelar suscripción

1{ "id": "1772007814667", "op": "unsubscribe", "args": ["market.depth.BTCUSDT"] }

Ping de la aplicación

1{ "id": "1772007814668", "op": "ping", "args": [] }

Sobre de mensajes

Los empujes públicos utilizan un límite consistente:

1{
2 "topic": "market.depth.BTCUSDT",
3 "event": "data",
4 "ts": 1772007815000,
5 "data": {}
6}

Recomendaciones operativas

  • Generar una id única en el lado del cliente para cada solicitud de suscripción, baja y ping.
  • Tratar la reconexión como una nueva sesión y volver a suscribirse a los temas requeridos.
  • Validar que el topic devuelto coincida con el canal que espera tu servicio.
  • Mantener el procesamiento de mensajes idempotente cuando hay eventos privados de orden o cuenta involucrados.
  • Cambios en el estado de la conexión de registro, acuses de recibo de suscripción y desconexiones anormales.

Flujo de trabajo de reconexión

  1. Cierra o descarta el socket anterior y crea una nueva conexión.
  2. Re-autenticar flujos privados con un listenKey o token de acceso válido.
  3. Suscribirse de nuevo a todos los temas requeridos y esperar los reconocimientos exitosos.
  4. Sustituir el estado local del libro de órdenes por una nueva instantánea antes de aplicar actualizaciones incrementales.
  5. Reconciliar órdenes abiertas, posiciones y saldos a través de REST si se han pasado por alto eventos privados.

Utiliza retroceso exponencial limitado con jitter para los intentos de reconexión. Un cliente que se reconecte continuamente debería alertar a los operadores en lugar de intentarlo indefinidamente sin visibilidad.

Latido cardíaco y conexiones rancio

  • Rastrear el mensaje entrante más reciente y el reconocimiento de ping exitoso.
  • Utilizar el intervalo de latidos cardíacos y el umbral de reposo aprobados para el entorno de producción.
  • Tratar una conexión como obsoleta cuando se supera el umbral configurado, incluso si el zócalo de TCP sigue abierto.
  • No reutilizar suscripciones de un socket antiguo; volver a suscribirse explícitamente después de cada reconexión.