Como verificar se o host está disponível?

Caros Colegas,

O que eu devo utilizar para resolver esses dois probleminhas da minha aplicação.

Dúvidas:

  1. Como faço para verificar se um determinado host (servidor, site, webservice e etc) está disponível antes de efetuar uma requisição? Estou utilizando o DefaultHttpClient.

  2. Qual o forma correta de se tratar um timeout para uma requisição para um host? Quero tratar o mesmo e evitar possíveis exceções.

Grato a aguardo qualquer orientação.

Bom dia,

Também gostaria de acompanhar este post para sanar essa duvida que também é minha.

Att.