Appearance
Mécanisme de Réponse au Ping
Introduction
La réponse au ping fait partie du système de maintenance de connectivité du Bridge Unifié, implémenté dans le moniteur de ping (src/lib/monitoring/pingMonitor.ts). Elle assure des déploiements fiables basés sur iframe en répondant aux vérifications de santé de l'hôte, empêchant les délais d'attente du bridge et signalant le statut opérationnel.
Récapitulatif du Concept
Dans le cadre du Bridge Unifié, le mécanisme de ping maintient l'intégrité de la communication dans les environnements iframe où l'application s'exécute intégrée dans les applications TV hôtes. Il utilise le même protocole postMessage mais se concentre sur les échanges simples PING/PONG pour confirmer la connectivité.
Comment Cela Fonctionne
- Réception du Ping : Écoute les messages
TV_API_REQUESTavecaction: 'PING'de l'hôte. - Réponse Immédiate : Répond avec
TV_API_RESPONSEcontenantpong: true, un horodatage, etiframeStatus: 'operational'. - Iframe Uniquement : Actif uniquement lorsque
window.self !== window.top; ignoré en mode autonome. - Objectif : Empêche les délais en démontrant que l'application est réactive, assurant que le bridge reste fonctionnel pour les opérations sur les appareils.
Exemple de Code
De src/lib/monitoring/pingMonitor.ts :
typescript
// Configuration de l'écouteur de messages
window.addEventListener('message', (event) => {
if (event.data?.type === 'TV_API_REQUEST' && event.data.action === 'PING') {
const response = {
type: 'TV_API_RESPONSE',
requestId: event.data.requestId,
ok: true,
payload: {
pong: true,
timestamp: Date.now(),
iframeStatus: 'operational'
}
};
window.parent.postMessage(response, '*');
}
});Intégration dans src/routes/+layout.ts :
typescript
// Initialiser le moniteur de ping au démarrage de l'app
import { initPingMonitor } from '$lib/monitoring/pingMonitor';
initPingMonitor();