Liste der Anhänge anzeigen (Anzahl: 1)
Also, Meerschwein is angesagt.
Da ist ein IP_DLL drinnen, wie gehabt, mit ein paar Kleinigkeiten dazu.
Er kann, je nach Button, Server spielen oder Client, wie vorher.
Pikanterie: er kann auch beides gleichzeitig machen, (natürlich erst define und dann connect, logo)
Darüber hinaus noch naturbelassen, guck einfach mal rein.
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, habe schon reingeguckt.
Mein Gehirn hatte aber heute keine rechte Lust.
Darum bin ich mit ihm übereingekommen, dass ich das erst Morgen verstehe.
Weiter haben wir uns geeinigt die Zeit nicht zu vertrödeln, obwohl wir beide sehr müde wahren.
Darum haben wir erstmal was gemacht was relativ einfach ist und Arbeitserleichterung für die Zukunft verspricht.
Ich habe jetzt mal die Ecke an der ich arbeite zusammengestellt.
In den Programmtexten beider Projekte kannst Du sehen wie ich Dein Template einbaue.
Falls es Dir so zusagt würde ich das in diesem Stil fürs erste beibehalten wollen.
Das kann sich ändern wenn wir das möglicherweise in Klassen oder Module packen.
Bis dahin wäre es für mich zum Testen und Verwenden eine enorme Erleichterung.
Also bitte wohlwollend prüfen.
Ich habe die IP_DLL schon so zurechtgemacht das Du sie zum Weiterarbeiten nehmen könntest.
Das ist jetzt eine Option, wenn Du was anderes bereit stellst bau ich das natürlich auch ein.
Netter Gruß
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt noch der Rest.
Alles mit einem mal wollte er nicht.
Netter Gruß
Liste der Anhänge anzeigen (Anzahl: 1)
Short Doku I:
Beim Portdefinieren zeigt die bei "define" erzeugte "IpDef"-Referenz sozusagen auf das "Mother-Port". Ausser eventuell wieder wegschmeissen ("stop listening") kann man damit eigentlich nicht machen.
Wenn sich nun ein Client an das Port connected, wird "callback" gerufen mit dem Status=2. (Der Client kriegt da grad sein "ok" auf den Connect)
Auch damit kann man in unserem Fall nicht viel machen, da ja noch keine Message empfangen wurde.
Wenn nun der Client die erste Message wegschickt, sollte sie ja zumindest seine PID enthalten, und jetzt sollte (oder kann) der Server erst wirklich aktiv werden.
Aber da ist der Status nichtmehr = 2, sondern wieder normales "ok" (=0)
Rein technisch müßte sich ein Server diese IpRef nicht extra merken, er kriegt ja jedesmal in der Callbackroutine diesen Wert wieder mit.
Er kann auch so darauf normal senden (antworten) oder ggf. "disconnecten"
(Wird fortgesetzt)
Liste der Anhänge anzeigen (Anzahl: 1)
Doku II:
Stimmen wir mal die Situation beim Starten der einzelnen Applikationen:
Es gibt eine Startliste mit Prozess/Programm Namen. wobei sie auch mehrfach gestartet werden sollen.
z.B. Eintrag "GUI e.V" Starten = 2 x
Der "SHELL" Befehl gibt ja die PID des erzeugten Prozesses zurück.
d.h. die PID des GUI e.V weiß MARV schon durch das Starten.
Jeder erzeugte GUI e.V Prozess connected sich nun mindestens einmal, möglicherweise aber auch mehrfach an das von MARV definierte Port (42)
Bei Marv taucht nun eine neue IpRef auf, die MARV ja dem richtigen Prozess zuordnen muß
Daher muß in der ersten Message von GUI e.V die PID enthalten sein. Die kann er nun bei den durch "SHELL" erzeugten Einträgen suchen und die IpRef dazu hängen.
Bei jeder weiteren Message des GUI e.V wird MARV nun die IpRef suchen (und finden), d.h. er weiß sofort, von wem die Message kommt.
Dabei sollte eine Struktur entstehen, wie im Bild angedeutet.
Sind wir soweit d'accord ?