قطع یا وصل بودن اینترنت

سلام با کدهای زیر که داخل یکی از کلیدهای خود سایتم هست میشه فهمید اینترنت گوشی وصل هست
کد پی‌اچ‌پی:
ConnectivityManager cm  = ( ConnectivityManager )  getSystemService ( Context . CONNECTIVITY_SERVICE );      NetworkInfo ni  =  cm . getActiveNetworkInfo (); 
حالا اگه اینترنت قطع بشه یا حجمش تموم بشه ارتباط با سرور قطع میشه!
چطوری میشه فهمید این ارتباط قطعه؟
با استفاده  کدها زیر اطلاعاتم از سرور میگیرم اما اگه نت قطع باشه بعد از گذشت یه زمانی برنامه کرش میشه!
لطفا کمک!

کد پی‌اچ‌پی:
public class  getpost  extends  AsyncTask {                  @ Override          protected  void onPreExecute () {               // TODO Auto-generated method stub              super . onPreExecute ();                           pr = ProgressDialog . show ( Register . this ,  "لطفا صبر کنید ..." ,  " ..." );                                     }         @ Override          protected  Object doInBackground ( Object ...  arg0 ) {              // TODO Auto-generated method stub                                        try{                               //    URL link=new URL("http://192.168.4.1/travel/login.php");                                   String data = URLEncoder . encode ( "user" , "utf8" )+ "=" + URLEncoder . encode ( user + "" , "utf8" );                  data += "&" + URLEncoder . encode ( "pass" , "utf8" )+ "=" + URLEncoder . encode ( pass + "" , "utf8" );                                   URL link =new  URL ( "http://rohamdemo.ir/rotana/webservice/login.php" );                  URLConnection connect = link . openConnection ();                                                    //send data                  connect . setDoOutput ( true );                  OutputStreamWriter wr =new  OutputStreamWriter ( connect . getOutputStream ());                  wr . write ( data );                  wr . flush ();                                   //send data                                                                BufferedReader reader =new  BufferedReader (new  InputStreamReader ( connect . getInputStream ()));                                   StringBuilder sb =new  StringBuilder ();                                   String line = null ;                                  while(( line = reader . readLine ())!=  null ){                                           sb . append ( line );                 } }catch( Exception e ){                                   res = e . toString ();                  finish ();                              }                              return  "" ;         }                           @ Override          protected  void onPostExecute ( Object result ) {              // TODO Auto-generated method stub              super . onPostExecute ( result ); }