2009-06-12 2 views
1

Im implémentant un projet dans java en utilisant webservices et j'ai besoin de savoir si le service fonctionne sur un hôte particulier: port.Le moyen le plus rapide de savoir si l'hôte distant est joignable

je peux penser à un couple de méthodes 1.Sockets 2.URLConnection classe appel de service 3.Web avec un délai de 1 sec

Pouvez-vous me s'il vous plaît quide la méthode la plus efficace.

Merci d'avance.

Répondre

1

Eh bien, ils vous donneront différents niveaux de précision.

Si vous essayez seulement de savoir si quelque chose est en train d'écouter sur le bon port (et si vous pouvez y accéder), alors la connexion avec un socket est le moyen le plus approprié.

Si vous essayez de savoir si un serveur Web écoute sur le port, URLConnection est approprié.

Si vous essayez de vérifier que le service Web attendu écoute sur le port, puis effectuer un appel de service Web (de préférence un appel bon marché sans effets secondaires - idéalement créé juste pour le plaisir de ce "ping") est idéal.

Lequel voulez-vous? Personnellement, dans la plupart des cas, je préférerais la troisième option - elle donne le plus d'informations.

+0

merci pour votre point de vue jon.Je préférerais la troisième option.Im utilisant l'objet de la classe stub de service Web pour faire l'appel (une méthode simple qui devrait revenir dans une seconde) avec un timeout 1 sec. Cependant, les résultats semblent parfois varier. Parfois, il est très rapide et parfois cela prend beaucoup de temps. Une idée de pourquoi cela se passe-t-il? – sirius

+0

Pas vraiment - J'ajouterais beaucoup de journalisation sur le serveur et le client, et utiliserais quelque chose comme WireShark pour vérifier le trafic réseau. 1 seconde ressemble cependant à un très court délai. –

+0

va le vérifier .. merci – sirius

Questions connexes