Если этот сокет был создан с помощью URLConnection
для выполнения веб-запроса, вы можете установить таймауты чтения и подключения непосредственно на URLConnection
перед чтением потока:
InputStream createInputStreamForUriString(String uriString) throws IOException, URISyntaxException {
URLConnection in = new URL(uriString).openConnection();
in.setConnectTimeout(5000);
in.setReadTimeout(5000);
in.setAllowUserInteraction(false);
in.setDoInput(true);
in.setDoOutput(false);
return in.getInputStream();
}