Bonjour,
Je dois transmettre un fichier d'un programme java à un autre en utilisant le protocole UDP (et donc les DatagramSocket). Afin de m'assurer que mon fichier garde tout son sens, je dois vérifier que les trames transmises, et matérialisant le fichier, arrivent bien et dans l'ordre. Je simule donc le comportement du protocole TCP en acquittant chacunes des trames dans lesquelles se décomposent mon envoi.
Concrètement, dans le programme d'envoi, j'ai un Thread 1 qui tourne pour envoyer la dernière trame non acquittée, et un Thread 2 qui reçoit les
acquittements et qui met à jour la variable derniereTrameAcquittee (attribut de la classe Thread 1).
Alors dans le cadre de "petits" fichiers, tout se passe convenablement, mais lorsque je m'attaque à des fichiers beaucoup plus gros (de l'ordre de 800 Ko), outre le fait que le transfert est plus long (inévitable), j'ai un problème lorsque le nombre d'octets encoyés cumulés avoisine les 40 000 octets.
Ca ressemble fort à un problème de congestion...
Ma question est : est-il possible de décongestionner ce port d'une façon ou d'une autre (depuis l'émetteur ou le recepteur) ?
Partager