Show whole topic Nov 13, 2005 10:48 pm
[MM] Offline
Mitglied
Registered since: Mar 28, 2005
Location: Zwickau


Subject: MMs M.A.X. Alpha 1.0
Grüße!

Nachdem ich heute Stunden damit verbracht habe an zwei Rechnern gleichzeitig meine Multithreadanwendung, die sich da fstcpip (fail safe tcp ip) schimpft zu debuggen haben ich wohl endlich den ganz Großen gefunden:
vorher:
DownloadSource code (Text):
  1. // Wenn dies ein Package mit mehreren Komponenten ist, den Rest auch noch einfügen:
  2. if(cp->data.PackageData.of_parts>1&&cp->data.PackageData.part==1){
  3.   for(i=id+1;i<id+cp->=data.PackageData.of_parts;i++){
  4.     struct sRxPackageWrapper *f;
  5.     f=new struct sRxPackageWrapper;
  6.     f->id=i;
  7.     f->forget=false;
  8.     f->age=GetTime();
  9.     f->cp=NULL;
  10.     RxPackages->Add(f);
  11.   }
  12. }

nachher:
DownloadSource code (Text):
  1. // Wenn dies ein Package mit mehreren Komponenten ist, den Rest auch noch einfügen:
  2. if(cp->data.PackageData.of_parts>1&&cp->data.PackageData.part==1){
  3.   for(i=id+1;i<id+cp->data.PackageData.of_parts;i++){
  4.     struct sRxPackageWrapper *f;
  5.     f=new struct sRxPackageWrapper;
  6.     f->id=i;
  7.     f->forget=false;
  8.     f->age=GetTime();
  9.     f->cp=NULL;
  10.     RxPackages->Add(f);
  11.   }
  12. }


Wem es nicht aufgefallen ist, es war ein '<' zu viel...
Dies hat bewirkt, dass Messages mit mehr als einem Part beim Empfänger eine ID zu viel beanspruchten, die dann aber von den folgenden Nachrichten nicht mehr benutzt werden konnte und diese somit under den Tisch fielen.

Hab auch gleich ca. 60 Runden ohne größere Probleme im LAN spielen können.
Ob es sich bei diesem Patch nun um den ganz großen Wurf handelt ist jedoch noch zu beweisen.
Also, würde mich freuen, wenn es noch ein kritischer Dritter testen würde.

Hier das Update (sollte auch mit der 1.29 gehen):
http://wwwstud.fh-zwickau.de/..._a131u.zip
und die full:
http://wwwstud.fh-zwickau.de/...x_a131.zip

Wer nur das Update zieht, die Datei soundsetup.exe und die zwei Verknüpfungen können jetzt gelöscht werden, das ist alles in der Datei setup.exe zusammengefasst worden.

MM

edit:
mir ist grad beim ungläubigen betrachten des Codes hier aufgefallen, dass auch in Code-Blocks Größer-Kleiner-Blöcke als Tags interpretiert werden und mein Posting daher nicht ganz den Tatsachen entspricht. Sollte man nicht in einem Code-Block alle Sonderfunktionen ausschalten, da man in C doch öfters mal ein '<' bzw ein '>' benutzt?