du müsstest dann schonmal den GANZEN code posten ...
das diese try-konstrukt in einem THREAD oder RUNNABLE steckt erkennt man zum glück noch an dem
aber ich glaube du gehst das etwas falsch an ..
du willst also ein http-request an einen server senden und dessen antwort ausgeben ...
und genau in dieser reihenfolge musst du es dann auch machen ... du kannst nich einfach ne verbindung aufbauen und dann lesen wenn der server nichts sendet sondern erstmal von dir ne anfrage erwartet ...
das sieht dann ungefähr so aus
Java:
Socket sock=new Socket("www.google.de", 80);
PrintStream out=new PrintStream(sock.getOutputStream());
BufferedReader in=new BufferedReader(new InputStreamReader(sock.getInputStream()));
out.println("GET http://www.google.de/ HTTP/1.0\r\n"); //OHNE die [URL]http://www.tutorials.de/java/ ... die setzt tutorial leider automatisch ein -.-* ... liegt halt am syntax-interpreter hier ...
String line=new String("");
while(true)
{
line=in.readLine();
if(line==null)
break;
System.out.println(line);
}
in.close();
out.close();
sock.close();
das beispiel is getestet und funktioniert
du musst dem server nur die richtige "frage" stellen und der server antwortet entsprechend
und warum verwendest du BufferedReader und bastelst dann mit char irgendwas da drum ?
HTTP ist auch PLAIN *wobei z.B. nicht lateinische zeichen in html-code geschrieben sein sollten ... ansonsten hast du wieder das encoding problem ... es sei denn der server verwendet UTF-8 ... das wird von BufferdReader zum glück automatisch dekodiert* und wird in der regel zeilen-weise gesendet ... darum kannst du bequem mit readLine() lesen ...
und wenn in html n zeilenumbruch erfolgen soll muss das mit <br> kodiert werden so das normale zeilenumbrüche zwar dazu führen das readLine() nur bis dahin liest und dann erneut aufgerufen werden muss ... aber im browser *oder HTML-fähigen Swing-Components* macht es keinen unterschied