Bei der jetzigen Trennung MARV (Supervisor) und Server (zentraler IP-Knoten) wird die Kommunikationen immer knackiger und umständlich.
Was ich mir vorstell' bzw. überlege ist eigentlich einfach: Die paar Aufrufe, die man als IP Server extra braucht, drücke ich der DLL in die Hand, die Funktionen selbst sind ja eh drin. Und das Verhalten bezüglich Messages lesen (callback) ist identisch. Müßte nichtmal eine eigene Callback-routine sein, es ist in beiden Fällen ja das Gleiche zu tun.
Extra ist nur die Verwaltung mehrere IP-Handles, bei Broadcast etc.
Wir werden noch sehen, was alles diese DLL sozusagen im Hintergund abnudeln kann und wo du Hand anlegen müßtest.
Im Prinzip sagst du statt "connect" nur "define" (IPadr, Port) und in der Callback routine, die aber sonst genauso aussieht, gibt es den Event "New", d.h. ein neues IP-Handle taucht auf. Das mußt du dem mit "shell" gestartetem Prozeß umhängen. d.g. du mußt ihn anhand der PID finden (die er ja zu Beginn mitschickt)
Das hättest du im jetzigen Konzept aber auch müssen.
Und wenn du einem bestimmten Fuzzy was senden willst, mußt du das passene IP-Handle verwenden, statt des einen, zentralen, den du jetzt im Moment hast
allein schon der Vorteil: Wenn einer der GUI e.V. verstirbt, weißt du es aus erster Hand.
Klingt nach etwas Arbeit, ist aber einfach mehr straight-ahead und strukturell viel klarer.
War das positiv formuliert ? (dafür, das du wieder ein paar Sachen umbauen mußt)![]()
Lesezeichen