2009-06-12 12 views
1

私はwebservicesを使ってjavaでプロジェクトを実装しています。サービスが特定のホスト:ポートで実行されているかどうかを調べる必要があります。リモートホストが到達可能かどうかを判断する最速の方法

私は1秒のタイムアウトと 1.Sockets 2.URLConnectionクラス 3.Webサービスコール

は、あなたが最も効率的な方法に私をガイド付きにしてもらえ方法のカップルを考えることができます。

ありがとうございます。

答えて

1

さて、彼らはあなたに異なるレベルの正確さを与えます。

正しいポートでリッスンしているかどうか(そしてそのポートにアクセスできるかどうか)を調べる場合は、ソケットに接続することが最も適切です。

ポートでリッスンするWebサーバーがあるかどうかを調べる場合は、URLConnectionが適切です。

期待されているWebサービスがポートでリッスンしていることを確認しようとしている場合は、Webサービスコール(好ましくは、副作用のない安価なもの - 理想的にはこの "ping" )が理想的です。

どちらをお探しですか?個人的にはほとんどの場合、私は3番目のオプションを好むでしょう - それは最も多くの情報を提供します。

+0

あなたの意見はありがたいです。私は3番目のオプションが好きです.1秒のタイムアウトで、Webサービススタブクラスのオブジェクトを使用して呼び出しを行います(単純なnethodが秒以内に返る必要があります)。結果変化するようです。時にはそれは非常に速く、時には時間がかかることがあります。なぜこれが起こっているのか考えていますか? – sirius

+0

本当に - サーバーとクライアントの両方でたくさんのログを追加し、WireSharkのようなものを使ってネットワークトラフィックをチェックします。 1秒は非常に短いタイムアウトのように聞こえる。 –

+0

これをチェックします。 – sirius

関連する問題