System.out.println („Connection successful“);
System.out.println („Waiting for input…“);
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(
new InputStreamReader( clientSocket.getInputStream()));
int y;
int x;
String inData;
für dein unmittelbares Syntaxproblem reicht es die beanstandete Klammer sowie die unmittelbar davor ersatzlos zu löschen.
Die erste hast du wahrscheinlich bei der else-Konstruktion übersehen und die zweite hast du wahrscheinlich übersehen als du nachträglich die Streams bzw. die Sockets geschlossen hast aber das sind nur Vermutungen. Der Code ist danach zwar noch nicht fehlerfrei aber das ist dann ein anderes Problem .
Nützlicher Hinweis am Rande: Eclipse markiert alle zusammenhängenden Klammern, d.h. wenn du den Cursor unmittelbar hinter einer Klammer positionierst markiert Eclipse automatisch die zugehörige andere Klammer des selben Typs auf der selben Hierarchieebene. So sieht man z.B. schnell welche Klammer eine Methode schließt bzw. beginnt o.ä…
Wenn du dir einen Code-Stil angewöhnst, bei dem die Klammern auch sichtbar zusammengehören, dann erleichtert das bei Bedraf die fehlersuche ungemein, siehe z.B.
Hallo,
Danke für die Anfrage aber Sorry, ich kann Dir auf die Schnelle auch nicht weiter helfen. Ich bin schon seit ein paar Jahren aus dem Geschäft, hab momentan kein Eclipse mehr auf dem Rechner und kann den Fehler selbst nicht nachstellen…
Weiterhin viel Spaß!
Ludwig
such die zu offenen Klammen gehörenden geschlossenen Klammern, dann wird ein zuviel sein.
Tip struckturiere den Code indem Du nach jeder offenen Klammer den Text einrückst und ihn nach jeder geschlossenen Klammer wieder zurück setzt.
Die Klammer, die du monierst ist die schließende Klammer der ganzen Klasse. Danach können keine Anweisungen mehr folgen. Wenn du also deine markierte Klammer und die davor löschst, hast du alle Anweisungen (inkl. serverSocket.close(); in deiner main-Methode.
ich habe ein Socketprogramm geschrieben und Eclipse gibt mir
ständig die Fehlermeldung, dass die geschweifte Klammer unten
falsch wäre („expected {“).
Wäre klasse, wenn ihr mir helfen könntet.
Hallo chaag,
Zähl doch einfach mal die öffnenden und schließenden Klammern nach. An der von Eclipse angemerkten Stelle müsste das absolute Ende der Routine stehen, weil dann alle geöffneten Klammern wieder geschlossen sind. Es folgen aber noch ein paar Zeilen Code und zwei schließende Klammern!
Irgendeinen - oder mehrere - Vorgang/gänge hast Du nicht korrekt abgeschlossen.
Hi, die vorhergenhende schließende Klammer schließt die main-methode. Der Code darunter soll bestimmt auch noch zur main-Methode gehören, also sind die zwei schließenden Klammern dort überflüssig. Das programm scheint eh noch nicht fertig zu sein, weil viele lokale Variablen noch nicht initialisiert sind. Ein Tipp: Formatier Deinen Code am besten nach den Sun-Konventionen, dann fällt die sowas sofort auf.