DNC
BNC on cloud est un nom de projet qui consiste à garder les utilisateurs mobiles en ligne même pendant la déconnexion.
Informations
Utilisation: uniquement sur l'applet dhIRC sur Discussionner.
Statut actuel: inactif / en cours de création.
Noms du projet: BNC on cloud / Cloud en interne dans l'application du tchat discussionner.
Date des premiers tests: à définir.
Les utilisateurs visés: tous les mobiles (seulement les inscrits).
Le vhost/IP officielle de chaque utilisateur: galaxy.cloud.irccity.com
Ident officiel de chaque utilisateur: à définir.
Déconnexion automatique du bouncer si pas reconnecté: Atteindre les 5h et l'utilisateur quittera le tchat automatiquement.
Idée débutée (en étant intéressé): en septembre 2019.
Début du bidouillage/configuration et tests: en décembre 2019.
Fonctionne sous: Node.JS
Problème courant
Dans notre smartphone (Android ou iOS etc...), dés que nous allumons une application qui doit rester en ligne 24h sur 24 (exemples: Instagram, Snapchat, Messenger ...), en réalité elle ne reste pas en ligne 24h sur 24, elle fera des coupures (timeout) dans de nombreux moments mais de façon très discrète. Il suffit qu'on rallume notre téléphone ou qu'on reclique sur l'application, et aussitôt l’application se reconnecte au socket du service à la vitesse de la lumière.
Les notifications, elles, sont en temps réel mais c'est géré par un autre service. Ce système n'est compatible qu'avec les notifications.
Voici un exemple de scénario réel avec l'application Snapchat :
- On démarre l'application, on ouvre une conversation, et on discute avec la personne
- On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
- quelques minutes après très discrètement, l'application se déconnecte du socket (l'utilisateur n'est plus connecté).
- Ensuite nous revenons sur notre application et nous voyons une notification d'une personne venant de Snapchat, on clique sur la notificaiton environ 2 fois pour ouvrir Snapchat.
- l'application se reconnecte très discrètement au socket (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
- On voit la suite des messages.
Cette faille existe sur tous les mobiles. Il faut noter qu'en réalité ce n'est pas une faille, c'est une technique qui se déconnecte du socket exprès pour que le socket arrête de consommer la batterie du téléphone mobile à cause du socket inactif.
Sur IRC il existe la même faille mais elle est plus sale, la voici :
- On démarre l'application, on ouvre une conversation, et on discute avec la personne
- On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
- quelques minutes après (pas discret du tout), l'application se déconnecte du socket donc de l'IRC (l'utilisateur n'est plus connecté).
- Ensuite nous revenons sur notre application
- l'application se reconnecte au socket (de retour en ligne sur IRC, mais pas du tout discret), rien n'est fait à la vitesse de la lumière car une reconnexion à l'IRC met quelques secondes pour se faire.
- On ne voit pas la suite des messages car il s'est déconnecté.
Le but du nouveau système "BNC on cloud"
L'applet Discussionner fonctionnera comme ceci :
- On démarre l'application, on ouvre une conversation, et on discute avec la personne
- On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
- quelques minutes après très discrètement, l'application se déconnecte du socket BNC (l'utilisateur n'est plus connecté au bnc) mais il est toujours sur IRC
- Ensuite nous revenons sur notre application.
- l'application se reconnecte très discrètement au socket BNC (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
- On voit la suite des messages.