Hallo,
ich hatte folgende Aufgabe zu lösen:
10 Rechner (verbunden durch WLAN und DLAN) hatten insgesamt 50 Autoit-Programme am laufen, die alle von einem dieser Rechner "gesteuert" werden sollten.
Steuern heisst an der Stelle nur banales "Ein / Ausschalten" von Funktionen dieser Autoit Programme, dabei soll der Ein / Aus Zustand von jedem dieser Programme auf dem Hauptrechner sichtbar sein.
Im Vorfeld habe ich kleine Clients und Serverprogramme geschrieben, welche tadellos funktioniert haben (beim Testen mit 5 Programmen und 2 Rechnern).
Im großen Verbund ist dann aber alles komplett schief gelaufen:
Es ging schon mit dem Verbindungsaufbau los. Für jeden Verbindungsaufbau hat das Programm ca. 1-4s benötigt. Das waren bei 50 Programmen ca. 100s nur für den Verbindungsaufbau!
Dann war die WLAN Verbindung wohl teilweise nicht sehr stark, so dass der Client (Kontrollprogramm über die 50 Server) teilweise gemeldet hat, dass die Verbindung zu ein paar Servern nicht mehr steht - wenn man aber die Server gefragt hat, dann war die Verbindung noch da. Mit Netstat konnte ich dann rauskriegen, dass die Verbindung tatsächlich noch bestand, der Client aber der Meinung war, dass die Verbindung nicht mehr da war.
In der Folge wollte der Client die Verbindung neu aufbauen, die Server aber nicht (sie bestand ja noch). Das ging dann auch nicht usw.
Somit ist es passiert, dass eine Verbindung scheinbar nicht aufgebaut werden konnte, obwohl man den Rechner übers Netz anpingen konnte!!!!!!!!!!
Fazit: Am Ende musste ich von den 10 Rechnern 7 vom Netz nehmen und das ganze ist dann noch mit 3 Rechnern und 15 Autoit Servern gelaufen. Mehr oder weniger stabil.
Die Programme waren so aufgebaut, dass ich immer 10s lang versucht habe, neue Verbindungen aufzubauen. Nach den 10s habe ich dann schnell alle bestehenden Verbindungen angepingt, damit die nicht in einen Timeout gelaufen sind...
Ich habe nur gemerkt, dass ich das ganze Timing nicht wirklich im Griff hatte und dass die TCP Verbindung überhaupt nicht so abgesichert ist, wie ich es erhofft habe.
Das ganze ist jetzt ein wenig unkonkret, vielleicht wollte ich nur mal meinen Frust von der Seele schreiben.
Jetzt habe ich wieder ein Jahr Zeit, es besser zu machen. Wie geht man so etwas sinnvoll an?