# Writer oder Stream bei Socket?



## Guest (8. Apr 2004)

Hallo,

ich will ein ganz einfaches Client-Server-Prog. schreiben, mit welchem ich Nachrichten verschicken kann.
Nun habe ich einige Probleme bei der Implementierung des OutputStreams oder -Writers.

Den InputWriter des Clients habe ich folgendermasse initialisiert:

```
BufferedReader inUser = new BufferedReader(new InputStreamReader(System.in));
```

Um den Text zu senden:

```
Socket socket = new Socket(addr, 6666);
BufferedWriter outServer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
```

InputStream des Servers:

```
BufferedReader inClient = new BufferedReader(new InputStreamReader(socket.getInputStream()));
```

Der Fehler muss irgendwo beim Senden des Clients liegen. Ich habe im Netz diverse ähnliche Klassen gefunden, welche teils mit Streams, teils mit Writers arbeiten (so ziemlich jede Unterklasse war zu finden).

Kann mir jemand sagen, welchen Stream/Writer ich hier brauchen soll bzw. muss und wieso?

Ganz herzlichen Dank!


----------



## Ela (11. Apr 2004)

ich hab printstream genommen bei meinem ftp-client. hier mal n ausschnitt ...


```
private PrintStream pout=null;
```

.... und dann weiter unten ...


```
try {
	    pout = new PrintStream (socket.getOutputStream());
         }
         catch (IOException ioe) {
	 }
```

um was zu senden schrebste dann einfach z.b.

```
pout.println("der zu sendende text");
```

das mit dem socket hast ja schon 

mfg,
ela.


----------



## JF (12. Apr 2004)

Wenn du das mit BufferedWriter machst, musst du (glaub ich) vorm Aufrufen der Methode close() die Methode flush() (ich glaub, dass sie so heißt; sie bewirkt, dass wirklich alle Daten, die noch im Buffer sind gesendet werden) aufrufen.


----------

