Hallo,
obwohl sich jetzt langsam die Anzeichen mehren, dass die Restlebensdauer von Zusi 2 sich möglicherweise doch allmählich dem Ende nähert, habe ich mir noch einmal Andreas Code angeschaut, und meinen Ausbau zu einem TCP-Server mal funktionsfähig gemacht.
Sobald Andreas es online stellt, könnt ihr euch also einen "neuen" (experimentellen) TCP-Server herunterladen. Er ist noch ohne Benutzeroberfläche, sondern erst einmal nur ein Konsolenprogramm / Konsolenbeispiel. (Das Beispiel befindet sich im Ordner "examples/cs/ServerTest1".) Ich würde mich aber freuen, wenn sich jemand freiwillig meldet, eine graphische Oberfläche für den Server zu erstellen.
So, was kann der Server denn alles? Als erstes mal, ich habe noch nicht getestet, was alles läuft. Auf jeden fall funktionieren Programme, die mit der selben Version der DLL laufen, außerdem funktioniert das Verbinden von Zusi* und der Soundthizer.
* Nach einem Neustart von Zusi schlägt der 1. Verbindungsverschuch im Moment immer fehl, offenbar ist es der selbe Fehler, der hier beschrieben ist. Einfach noch mal versuchen.
Aber es gibt auch Dinge, die der Server kann, und der alte Server nicht. Dazu gehört das "Späte verbinden". Beim alten TCP-Server werden Verbindungen ja grundsätzlich abgelehnt, wenn der Server bereits verbunden ist. Dieses Kriterium wurde mit diesem Server leicht aufgeweicht. Programme können sich jetzt auch nach Zusi verbinden, dürfen dann jedoch keine IDs anfordern, die nicht bereits von Zusi angefordert wurden. (Der zugehörige Fehlercode, den ich in so einem Fall sende, lautet 4/3. Alte Programme melden in so einem Fall vermutlich einen "Unbekannten Fehler" beim Verbinden.)
Das gaze geht sogar so weit, dass man dem Server sagen kann, dass er einfach alle (ihm bekannten) IDs von Zusi anfordern soll. Damit ist die Verbindungsreinfolge dann vollständig egal. So wurde es beispielsweise in dem oben beschiebenen "example" gelöst.
Ich plane noch eine Möglichkeit, Zusi über Windows Messages Befehle zu geben. Dazu jedoch, wenn es so weit ist. (Solange Zusi 3 mich nicht einholt.)
In der Hoffnung, dass der Server in der Restlebensdauer von Zusi 2 noch nützlich seien möge
F. Schn.
Edit: Hier ist der Link: Git