Guten Tag,
ich habe ein Problem mit meiner Client -server Architectur. Im Grunde möchte ich folgendes realisieren.
Ich habe auf dem Client einen Thread erstellt, der die ganze zeit auf dem InputStream des sockets liest.
Dann soll der Client auch manchmal verschiedene Objekte an den Server über das Socket senden.
Auf dem Server läuft pro Client ein Thread, der im Grunde genau das selbe machen soll wie auf dem Client.
Allerdings funktioniert das nicht. Der Client kann das ganze Object Network, das ich erstellt habe, garnicht mehr benutzen und die main Methode läuft auch nicht weiter.
Liegt das daran, dass ich den InputStream schon auf dem Server geöffnet habe? Ich habe da folgendes ausprobiert :
- Wenn ich nur den InputStream auf dem Client und dem Server öffne, dann reagiert der Client nicht. Der Server schon, allerdings liegt dies daran, dass ich da schon ein Thread benutze.. auf dem Client jedoch noch nicht.
- Wenn ich aber nun nur den OutputStream auf dem Client öffne, funktionieren beide. Jedoch, kann ich ja dann keinen Thread erstellen, der dann jederZeit liest ob was vom Server kommt.
So wie ich das denn nun verstanden habe, kann man nur entweder auf dem Server oder auf dem Client aber nicht gleichzeitig einen InputStream öffnen. Das gleiche gilt für den OutputStream.
Habe ich dies richtig verstanden?
Wie kann ich denn meine Idee in die Tat umsetzen. Meiner Idee nach müssten beide Server und Client auf dem Socket lesen können. Und gelegentlich auch schreiben.
Danke im Voraus.
MfG
ich habe ein Problem mit meiner Client -server Architectur. Im Grunde möchte ich folgendes realisieren.
Ich habe auf dem Client einen Thread erstellt, der die ganze zeit auf dem InputStream des sockets liest.
Dann soll der Client auch manchmal verschiedene Objekte an den Server über das Socket senden.
Auf dem Server läuft pro Client ein Thread, der im Grunde genau das selbe machen soll wie auf dem Client.
Allerdings funktioniert das nicht. Der Client kann das ganze Object Network, das ich erstellt habe, garnicht mehr benutzen und die main Methode läuft auch nicht weiter.
Liegt das daran, dass ich den InputStream schon auf dem Server geöffnet habe? Ich habe da folgendes ausprobiert :
- Wenn ich nur den InputStream auf dem Client und dem Server öffne, dann reagiert der Client nicht. Der Server schon, allerdings liegt dies daran, dass ich da schon ein Thread benutze.. auf dem Client jedoch noch nicht.
- Wenn ich aber nun nur den OutputStream auf dem Client öffne, funktionieren beide. Jedoch, kann ich ja dann keinen Thread erstellen, der dann jederZeit liest ob was vom Server kommt.
So wie ich das denn nun verstanden habe, kann man nur entweder auf dem Server oder auf dem Client aber nicht gleichzeitig einen InputStream öffnen. Das gleiche gilt für den OutputStream.
Habe ich dies richtig verstanden?
Wie kann ich denn meine Idee in die Tat umsetzen. Meiner Idee nach müssten beide Server und Client auf dem Socket lesen können. Und gelegentlich auch schreiben.
Danke im Voraus.
MfG