pc schrieb:
> Das Manipulieren des Iterators im Schleifenablauf scheint mir nicht ganz
> geschickt.
Ich würde es so machen, dann kommt die Manipulation des Index nicht so
"hinterrückwärts". Sondern man sieht sofort, dass der Index irgendwo
anders verändert wird:
1 | for(i=1; i<= MAX_ANZ_BUSTEILNEHMER; ){
|
2 |
|
3 | ret = ping_teilnehmeradresse(i);
|
4 |
|
5 | if(ret != 0){
|
6 | // Ok, Teilnehmer erreicht, mache xyz
|
7 | i++;
|
8 | }
|
9 | else {
|
10 | // Teilnehmer nicht erreicht, probiere nochmal
|
11 | retryCounter++;
|
12 | if(retryCounter > MAX_RETRIES) break;
|
13 | }
|
14 | }
|
pc schrieb:
> Kennt einer eine besser alternative zu dem Konstrukt?
In der Hauptschleife wird ein Teilnehmer nach dem anderen
gepingt/gepollt und die Anwesenden/Aufgefundenen in eine Liste
eingetragen. Dort kann dann ein anderer Programmteil nachsehen, wer
schon alles da ist und ggfs. eine entsprechende Meldung generieren.