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''