Menu
Coddy logo textTech

Odmowa połączenia lub przekroczenie limitu czasu

Lekcja 18 z 47 w kursie Sieci komputerowe w terminalu w Coddy.

Gdy połączenie się nie powiedzie, dzieje się to na kilka określonych sposobów, a każdy z nich wskazuje na coś innego. curl informuje, który to przypadek, za pomocą kodu wyjścia — liczby, którą pozostawia po sobie polecenie, dostępnej jako $?.

curl -s http://127.0.0.1:9999/
echo $?

Warto zapamiętać trzy kody:

  • 0: powodzenie
  • 7: odmowa połączenia — komputer odpowiedział, informując, że nic nie nasłuchuje pod tym adresem
  • 28: przekroczono limit czasu — nic w ogóle nie odpowiedziało

7 oznacza szybko, a 28 — wolno; ta różnica pozwala postawić diagnozę. Odmowa oznacza, że dotarłeś do komputera i otrzymałeś jednoznaczną odmowę, więc adres jest prawidłowy, ale usługa nie działa. Przekroczenie limitu czasu oznacza, że Twoje żądanie zniknęło — zwykle dlatego, że zapora je odrzuciła albo adres jest nieprawidłowy.

challenge icon

Wyzwanie

Trudny

Spowoduj oba błędy i odczytaj kody.

  1. Zażądaj strony z http://127.0.0.1:9999/, gdzie nic nie nasłuchuje, i wypisz refused=, a następnie kod wyjścia
  2. Zrób to samo dla http://10.255.255.1/, adresu, który pochłania ruch, z --max-time 2, i wypisz timeout= oraz jego kod wyjścia

Oczekiwany wynik:

refused=7
timeout=28

$? przechowuje kod wyjścia właśnie uruchomionego polecenia, więc odczytaj go od razu.

Spróbuj swoich sił

Terminal
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Sieci komputerowe w terminalu

Poćwicz samodzielnie: Edytor online Terminal