Comment détecter une vitesse de connexion Internet avec Java?

Dans mon application Java, comment puis-je déterminer la vitesse la vitesse de connexion à Internet ? Par exemple, j'utilise AT&T Rapide DSL à la maison, je me demande si il ya une manière que je peux écrire une méthode qui effectue les opérations suivantes :

int getInternetConnectionSpeed()
{
   ...
}

Qui renvoie un nombre en kbps, quelque chose comme 2800kbps [ 2,8 M ]

Edit :
La raison pour laquelle je me demande, est dans mon application, je peux ouvrir plusieurs flux Internet, selon les utilisateurs de l'Internet de la vitesse de connexion, je veux qu'elle s'auto déterminer la façon dont de nombreux cours d'eau pour l'ouvrir sans calage de l'application.

Je pense que pour ce réellement le travail, vous devez avoir un serveur à l'autre extrémité de votre test, qui peut gérer des vitesses plus élevées que la maxmimum limite de votre AT&T de connexion...
Même si vous pourriez obtenir le "officielle" de la vitesse de connexion pour l'utilisateur d'internet, ce nombre serait largement imprécis pour la plupart des scénarios du monde réel. Peut-être vous devriez revoir exactement pourquoi vous avez besoin de cette information et de trouver un autre moyen de faire ce qu'il est que vous êtes vraiment essaie de faire.
Sont votre "flux" de la bande passante limitée, ou vous vous retrouvez avec 1 stream telechargement aussi vite que possible vs 10 flux de téléchargement la plus rapide possible (dans ce cas, vous avez à peine gagner quoi que ce soit)
Basé sur votre montage, je dirais que votre meilleur pari est de laisser le utilisateur configurer le nombre de flux parallèles à utiliser. Je suppose que vous êtes en train de faire une certaine forme de partage de fichiers de l'app? Comment vous sentiriez-vous si BitTorrent automatiquement choisir comment de nombreux sortants ou les connexions entrantes, il permettrait?
Je suis d'accord !

OriginalL'auteur Frank | 2010-11-08