feat: F4.6g1 the echo server and the generic client windows
Oracle EchoWindowRun uses Java's echo server and client windows as a person does; SaveAfterRunRun echo saves what Java keeps after the run. The room takes setActive with a port, connect/disconnect/send, sends both views and writes the server's port and the client's target back. The editor's windows show Java's buttons, fields and lines; a port that is no port is marked and not handed over (Java's button throws). Core fix: an empty message (one empty segment with the push, as Java's erstelleSegmente makes) counted as a repeat and never arrived. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -18,11 +18,17 @@
|
||||
// domain set to senior.org
|
||||
// dhcp einfaches_rechnernetz_komplett: the notebooks get their
|
||||
// addresses from the server (10 s)
|
||||
// echo email_komplett, with FILIUS' echo server installed on Rechner 2
|
||||
// and its client on Rechner 1 before the start: the server on port
|
||||
// 7777 (as its window sets it), the client connected to it, a
|
||||
// message sent, the client left connected
|
||||
|
||||
import filius.gui.GUIContainer;
|
||||
import filius.gui.netzwerksicht.GUIKnotenItem;
|
||||
import filius.hardware.knoten.Knoten;
|
||||
import filius.rahmenprogramm.SzenarioVerwaltung;
|
||||
import filius.software.clientserver.ClientBaustein;
|
||||
import filius.software.clientserver.ServerBaustein;
|
||||
import filius.software.email.Email;
|
||||
import filius.software.email.EmailAnwendung;
|
||||
import filius.software.email.EmailKonto;
|
||||
@@ -93,6 +99,10 @@ public class SaveAfterRunRun {
|
||||
if (story.equals("email")) {
|
||||
((Betriebssystem) system("Rechner 1")).installAndStartAppIfAvailable("filius.software.lokal.Terminal");
|
||||
}
|
||||
if (story.equals("echo")) {
|
||||
((Betriebssystem) system("Rechner 2")).installAndStartAppIfAvailable("filius.software.clientserver.ServerBaustein");
|
||||
((Betriebssystem) system("Rechner 1")).installAndStartAppIfAvailable("filius.software.clientserver.ClientBaustein");
|
||||
}
|
||||
network.start();
|
||||
Thread.sleep(2000);
|
||||
switch (story) {
|
||||
@@ -130,6 +140,22 @@ public class SaveAfterRunRun {
|
||||
case "dhcp":
|
||||
Thread.sleep(10000);
|
||||
break;
|
||||
case "echo": {
|
||||
// GUIApplicationServerBausteinWindow's start button, then its client's "Verbinden" and "Senden".
|
||||
ServerBaustein server = (ServerBaustein) system("Rechner 2").holeSoftware("filius.software.clientserver.ServerBaustein");
|
||||
server.setPort(7777);
|
||||
server.setAktiv(true);
|
||||
server.setPort(7777);
|
||||
Thread.sleep(1000);
|
||||
ClientBaustein client = (ClientBaustein) system("Rechner 1").holeSoftware("filius.software.clientserver.ClientBaustein");
|
||||
client.setZielIPAdresse(system("Rechner 2").primaryIPAdresse());
|
||||
client.setZielPort(7777);
|
||||
client.verbinden();
|
||||
Thread.sleep(6000);
|
||||
client.senden("Hallo");
|
||||
Thread.sleep(4000);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
throw new IllegalArgumentException("unknown story " + story);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user