Bonsoir,
J'ai juste une question assez simple je pense sur le fonctionnement du readLine().
Admettons qu'on est un serveur qui envoie des messages au client. Le client les lit grâce à un readLine() sur le flux entrant. Dans le cas où le server enverrait des messages plus rapidement que la vitesse à laquelle le client traite ces messages, ces messages seraient-ils stockées dans une espèce de mémoire temporaire puis ensuite traités ou, sont-ils effacé s'ils ne sont pas traité desuite.
Pour essayer d'être plus clair, le client lit donc le message entrant via readLine() et y applique un traitement qui va par exemple durer 1 seconde (la méthode qui applique le traitement est placée juste après le readLine()). A côté de ça le serveur envoie tous les 10ème de seconde un message.
Comme la méthode du client prend environ une seconde, la prochaine exécution du readLine() sera à T+1s. Hors le serveur lui envoie un prochain message à T+0,1s. Quand le client va de nouveau exécuter le readLine(), celui-ci va-t-il lire le message envoyé à T+0,1s ou celui à T+1s, sautant ainsi 9 messages ?
Partager