W dniu 2015-01-29 o 14:13, Marek pisze:
Hmm... W takim razie coś takiego z grubsza już kiedyś robiłem. W jednym z projektów zachodziła konieczność cyklicznego wysyłania żądania aktualizacji NTP oraz uploadowania paru danych na serwer. Układ wykorzystywał ENC28J60 wraz ze stosem Tuxgraphics, a więc nie było możliwości przeprowadzenia większości operacji automatycznie, w tle.
Trzeba było przy tym sprawdzić kilka warunków:
- Czy w konfiguracji podano numer IP celu, czy też nazwę hosta do rozwiązania przez DNS.
- Czy cel znajduje się w naszej sieci, czy gdzieś w Internecie (od tego zależało jakiego adresu MAC użyjemy w kolejnym etapie). Oznaczało to konieczność odpytywania stosu o różne rzeczy, w dodatku trzeba było pilnować, aby kolejne wywołanie nie szło przed zakończeniem poprzedniego.
Zrobiłem to właśnie przez dwie zmienne (jedna dla NTP, druga dla klienta TCP), które pilnowały na jakim etapie obecnie znajduje się operacja. W pętli głównej podejmowana była odpowiednia akcja, stosowanie do stanu zmiennej.