S
Samuel
Gast
Hallo,
wir haben angefangen mit Sockets zu arbeiten um Client Server Verbindungen zu erzeugen.
Dies klappt soweit ganz gut, der Server lauscht auf nem Port und wenn da was ist, erzeugt er ein Thread mit dem Objekt.
Wie gesagt, läuft einwandfrei, was ich allerdings nicht verstehe:
Sagen wir ich will einen Chat programmieren.
Server befindet sich in einer unendlichen Schleife, wo er am ServerSocket Objekt auf den spezifizierten Port guckt, ob jemand da ist.
Sowohl Client als auch Server haben ihre Output und Input Streams, nun aber zum Problem: Es sind 3 Clients verbunden und sind doch per default doch im Output Modus, oder? Die Clients erwarten vom Server doch Text, der von anderen User kommt.
Wie kannder Server nun überhaupt was schicken, wenn er nur am ServerSocket auf die .accept() guckt?
Noch ein Problem, wie kann ein Client denn eine Nachricht tippen und senden, wenn der Client doch im Output Modus ist.
Ich habe Probleme zu verstehen, wie ein Client die Zustände wechselt, es kann ja sein, dass Client im Output Modus auf Nachrichten vom Server wartet und es kommt keine und der Client tipp was, hängt aber doch in der .readLine solange fest, bis Server was sagt.
Und das gleiche Problemist beim Server ja auch, alle Clienten sind im OutputModus jedoch ist der Server im Input Modus, hat aber nichts zu sagen.
Noch was: Der Wechsel der Zustände, von Output zu Input, wie gelingt er so, dass der Server etwas an den Client sendet und der sicherstellt, dass der Client auch hinhört?
Wenn Server
Output
Input
macht,
muss der Client ja beim Server Input im Output sein, da aber die Clienten threaded sind, kann doch sein, dass der Client garicht bereit ist?
Diese Socket Sache ist verdammt unklar für mich
wir haben angefangen mit Sockets zu arbeiten um Client Server Verbindungen zu erzeugen.
Dies klappt soweit ganz gut, der Server lauscht auf nem Port und wenn da was ist, erzeugt er ein Thread mit dem Objekt.
Wie gesagt, läuft einwandfrei, was ich allerdings nicht verstehe:
Sagen wir ich will einen Chat programmieren.
Server befindet sich in einer unendlichen Schleife, wo er am ServerSocket Objekt auf den spezifizierten Port guckt, ob jemand da ist.
Sowohl Client als auch Server haben ihre Output und Input Streams, nun aber zum Problem: Es sind 3 Clients verbunden und sind doch per default doch im Output Modus, oder? Die Clients erwarten vom Server doch Text, der von anderen User kommt.
Wie kannder Server nun überhaupt was schicken, wenn er nur am ServerSocket auf die .accept() guckt?
Noch ein Problem, wie kann ein Client denn eine Nachricht tippen und senden, wenn der Client doch im Output Modus ist.
Ich habe Probleme zu verstehen, wie ein Client die Zustände wechselt, es kann ja sein, dass Client im Output Modus auf Nachrichten vom Server wartet und es kommt keine und der Client tipp was, hängt aber doch in der .readLine solange fest, bis Server was sagt.
Und das gleiche Problemist beim Server ja auch, alle Clienten sind im OutputModus jedoch ist der Server im Input Modus, hat aber nichts zu sagen.
Noch was: Der Wechsel der Zustände, von Output zu Input, wie gelingt er so, dass der Server etwas an den Client sendet und der sicherstellt, dass der Client auch hinhört?
Wenn Server
Output
Input
macht,
muss der Client ja beim Server Input im Output sein, da aber die Clienten threaded sind, kann doch sein, dass der Client garicht bereit ist?
Diese Socket Sache ist verdammt unklar für mich