[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No Subject




音野ともうします。
java初心者なもんで、どなたか教えてください。

URLクラスを使用して、webサーバと通信するアプリケーションを
作成していますが、
このとき、webサーバとの接続に時間ががかる場合などを想定して、
ある程度の時間が経過すると、接続をあきらめるようにしたいのですが、
URLクラスでこのようなタイムアウトの処理は可能なのでしょうか?

もしかして、socketを生で使用しないと出来ないのでしょうか?

どなたかご存じの方がいらっしゃいましたらご教授ください。

以下参考ソース。
------------------------------------

  URL    u;
  URLConnection uc;

  int cl = postString.length();

  try {
    if ( !url.startsWith("http://") ) {
      url = "http://"+url;
     }
     ComTrace.println( ComTrace.LOG_TYPE_TRACE,"connecting " + url);
     u = new URL(url);

     //コネクションをオープンしてpostを送る準備をする。
     uc = u.openConnection();
     uc.setDoOutput(true);
     uc.setDoInput(true);
     uc.setAllowUserInteraction(false);

     DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
     // POST行、Accept行、content-typeヘッダを、
    //URLConnectionを利用して送信する。
     dos.writeBytes( postString );
     dos.close();

     //サーバからの応答を読みとる。
     BufferedReader dis = new BufferedReader(
       new nputStreamReader( uc.getInputStream() ));

     String nextLine;
     resString="";

     while ((nextLine = dis.readLine()) != null ) {
      resString += resString + nextLine;
   }
   dis.close();

  }

----------------------------
音野 春男
heekun@xxxxxxxxxx
----------------------------