Hallo zusammen, ich hätte da mal eine Frage.
Server:
ServerSocket echod = new ServerSocket(port);
System.out.println("Vor accept()");
Socket socket = echod.accept();
System.out.println("Verbindung hergestellt");
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
PrintStream pout = new PrintStream(out);
pout.print( "Hello-World vom helloServer");
Client:
Socket sock = new Socket(hostname, portnr);
InputStream in = sock.getInputStream();
BufferedInputStream bin = new BufferedInputStream(in);
Durch den Socket() aufruf wird über den Konstruktor wird eine Verbindung zum Server erstellt. Mich interessiert imens, woher der inputstream des Clients weiss, dass über den outputstream des Server etwas an das Socket geschickt wird und andersherum -> woher der intputstream des Servers weiss.... Oder wartet der Inputstream sobald er erzeugt ist einfach eine gewisse Zeitspanne? Und wird diese überschritten, gehts im Quellcode weiter.
Ich seh hier immer nur zwei Quellcodes, die von oben nach unten abgearbeitet werden müssen, könnte es nicht auch passieren, dass beim Client schon alles durchgelaufen ist, ohne dass es zu einem Austausch mit dem Server kam, obwohl dieser etwas über den outputstream verschicken will.
Bin für jede Antwort dankbar.
Mfg
hamstor
Server:
ServerSocket echod = new ServerSocket(port);
System.out.println("Vor accept()");
Socket socket = echod.accept();
System.out.println("Verbindung hergestellt");
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
PrintStream pout = new PrintStream(out);
pout.print( "Hello-World vom helloServer");
Client:
Socket sock = new Socket(hostname, portnr);
InputStream in = sock.getInputStream();
BufferedInputStream bin = new BufferedInputStream(in);
Durch den Socket() aufruf wird über den Konstruktor wird eine Verbindung zum Server erstellt. Mich interessiert imens, woher der inputstream des Clients weiss, dass über den outputstream des Server etwas an das Socket geschickt wird und andersherum -> woher der intputstream des Servers weiss.... Oder wartet der Inputstream sobald er erzeugt ist einfach eine gewisse Zeitspanne? Und wird diese überschritten, gehts im Quellcode weiter.
Ich seh hier immer nur zwei Quellcodes, die von oben nach unten abgearbeitet werden müssen, könnte es nicht auch passieren, dass beim Client schon alles durchgelaufen ist, ohne dass es zu einem Austausch mit dem Server kam, obwohl dieser etwas über den outputstream verschicken will.
Bin für jede Antwort dankbar.
Mfg
hamstor