Parce qu'un tunnel ngrok est toujours initié côté client en premier , c'est ainsi qu'il peut négocier un canal sécurisé avec le serveur. C'est une solution vraiment astucieuse pour contourner les configurations de pare-feu conventionnelles.
Ceci est accompli en interne par le client ouvrant une seule connexion tcp de longue durée où de nombreux sockets logiques sont créés au sein d'une connexion de socket physique. Cette technique est appelée multiplexage de flux. Avec cette configuration en place, aucun type d'interrogation n'est nécessaire car le client et le serveur ont toujours une communication entièrement bidirectionnelle en place.
Le client et le serveur restent alors actifs grâce à un mécanisme de pulsation qui s'assure que la connexion est ouverte et fonctionne correctement et se reconnectera même en cas d'erreur ou de connexion perdue/fermée.
Consultez ceci pour plus d'informations :Guide du développeur sur github.com