Ich empfange mittels Socket von einem Server einen Inputstream.
Das Problem hierbei ist:
- Ich kann den Inputstream nicht beenden, da der Socket ansonsten auch geschlossen wird (was die Abarbeitung der restlichen Netzwerkprotokols verhindern würde)
- Da ich den Stream aber nicht schließen kann tritt meine "while" Abbruchbedingung aber auch nie ein: while((len = in.read(buf)) > 0)
--> Wie kann ich jetzt aber feststellen ob der Datenstrom zuende ist?
Das Problem hierbei ist:
- Ich kann den Inputstream nicht beenden, da der Socket ansonsten auch geschlossen wird (was die Abarbeitung der restlichen Netzwerkprotokols verhindern würde)
- Da ich den Stream aber nicht schließen kann tritt meine "while" Abbruchbedingung aber auch nie ein: while((len = in.read(buf)) > 0)
--> Wie kann ich jetzt aber feststellen ob der Datenstrom zuende ist?
Code:
InputStream in = null;
try
{
in = socket.getInputStream()
}
catch ...
...
byte buf[] = new byte[puffer];
while((len = in.read(buf)) > 0)
{
...