java-webclient

Oliver Regehr oregehr at marcant.net
Mon Feb 12 10:06:19 CET 2001


On Mon, Feb 12, 2001 at 02:28:18AM +0100, Peter Lohmann wrote:
[...]
> die vom Server kommenden Daten aus.... Das Problem ist nur, dass dabei nie
> der Fall (line=b.readLine()) == null eintritt, und so mein Programm nicht aus
> der while-Schleife herauskommt, um den socket dichtzumachen... aus dem
> Inputstream kommt gegen Ende folgendes heraus:
[...]
> 
> 
> [hier kommt nix mehr - ich muss das Prog per STRG-C beenden]
> 
> Any hints?

Habe ich das richtig verstanden, dass du eine "normale" TCP-Verbindung
aufmachst? Wenn ja, sollte es doch kein Problem sein.
Wie es aussieht willst du bei einem HTTP-Server Dokumente anfragen. Wenn die
Verbindung geschlossen wird, kann man das so abfangen:

Socket httpSocket;
InputStream inStream;
OutputStream outStream;
data byte;

try { httpSocket = new Socket("198.182.196.56", 80);
  inStream = httpSocket.getInputStream();
  outStream = httpSocket.getOutputStream();

  while (byte = inStream.read() != -1)
  {
    // ne menge machen...
  }

  httpSocket.close();
} catch (UnkownHostException e2) { System.out.println ("The host is unkown"); }
} catch (IOException e2) { System.out.println("Error while connecting"); }

...

Ich hab in letzter Zeit nicht so viel Java programmiert - aber so muesste es
in etwa gehen...
Die Methode java.io.InputStream.read() gibt auf jeden Fall -1 zurueck, wenn
die Verbindung beendet wurde.

Gruss,

Olli





More information about the Linux mailing list