Na wejściówki należy…
===== Laboratoria 3 (16.10) =====
* wiedzieć jak zapisuje się adresy IP i adresy IP z długością maski/prefiksu
* na podstawie adresu IP i długości maski/prefiksu wskazać:
* do jakiej sieci należy adres
* czy i jaki w niej jest adres rozgłoszeniowy
* jakie adresy mogą mieć urządzenia w tej sieci
* znać adresy bloków prywatnych w IPv4 oraz adres localhosta
* znać polecenie wyświetlające:
* dostępne interfejsy sieciowe
* ustawione adresy IP
* z wyników w/w poleceń należy umieć określić:
* czy interfejs jest włączony
* czy nawiązał połączenie
* jakie ma adresy IP
* znać polecenie włączające / wyłączające interfejs
* znać polecenie do dodania / zmiany / usunięcia adresu IP
* znać polecenie do sprawdzenia czy jest łączność do podanego adresu IP / nazwy domenowej
===== Laboratoria 6 (6.11) =====
* umieć napisać komendę shellową która uruchomi prosty/prostego:
* serwer TCP
* klienta TCP
* serwer UDP
* klienta UDP
* umieć napisać komendę shellową która wyświetli:
* tylko nawiązane połączenia TCP
* tylko serwery TCP
* tylko wszystkie TCP
* tylko wszystkie UDP
* umieć odczytać z wyników komendy ss / netstat jakie porty są w użyciu, czy są użyte przez serwer czy istniejące połaczenie i które programy z nich korzystają
poniższe wiadomości są efektem kształcenia z przedmiotu //podstawy programowania// (i powinny być utrwalane na wielu innych, w tym zapewne na //programowaniu obiektowym// i //algorytmach i strukturach danych//)
* wiedzieć jak w językach C/C++ programista może dostać się do argumentów programu
* wiedzieć jak stworzyć określonego rozmiaru tablicę elementów wybranego typu na stosie (zmienna automatyczna)
* wiedzieć jak można dynamicznie alokować pamięć i jak należy ją zwalniać pamięć
* wiedzieć czym są struktury, w tym:
* jak się deklaruje nową strukturę (nowy typ danych)
* jak tworzy się nową zmienną będącą instancją wcześniej zadeklarowanej struktury
* jak dostaje się do pól struktury
* jak dostaje się do pól struktury dysponując wskaźnikiem do struktury
* wiedzieć jak pobiera się adres konkretnej zmiennej, tzn. jak tworzy się wskaźnik do zmiennej
* wiedzieć do czego służy funkcja strlen() i operator sizeof(), w szczególności:
* jak strlen() i sizeof() działa dla tablicy znaków o stałym rozmiarze
* jak strlen() i sizeof() działa dla tablicy znaków o zmiennym rozmiarze
* jak strlen() i sizeof() działa dla wskaźnika na znak (lokalizacji tablicy)
* wiedzieć czym jest rzutowanie (w stylu C lub, dla C++, statyczne)
* wiedzieć jak działa deklaracja aliasu typu używając słowa kluczowego typedef
* znać przynajmniej jedną funkcję do zmiany tekstu na liczbę
===== Laboratoria 7 (13.11) =====
* wiedzieć jakie funkcje służą do:
* tworzenia gniazda
* łączenia gniazda pod wskazany adres
* odbierania danych
* wysyłania danych
* zamykania połączenia
* zamykania deskryptora pliku
* zamiany kolejności bajtów między porządkiem hosta i sieciowym
* wyświetlania komunikatu poprzednim błędzie z funkcji systemowych
* wiedzieć gdzie używany jest (wskaźnik na) typ ''sockaddr'', a gdzie ''sockaddr_in''
* wiedzieć jakie informacje trzeba:
* wpisać do struktury ''sockaddr_in'' w pola ''sin_family'', ''sin_port'' i ''sin_addr'' przed podaniem jej do funkcji ''connect''
* podać w argumentach funkcji ''connect'' przy tworzeniu gniazda TCP (nie chodzi o nazwy stałych, tylko o to co one oznaczają)
* wiedzieć jakie wartości (i w jakich sytuacjach) zwracają funkcje: ''socket'', ''connect'', ''read'', ''write''