Lista Pytan zadanych na zajęciach z odpowiedziami
SK2:
- Q: Czy istnieją emulatory pozwalające emulować sieć oraz routery Cisco ? A: Tak, dobrym narzędziem do tego jestgns3. Cisco jako producent też udostępnia własneemulatory.
- Q: co zwraca inet_addr w razie błędu ? A: -1
- Q: Jaka jest różnica pomiędzy AF_INET a PF_INET? A: AF_INET powinien być używany podczas deklaracji Adresów natomiast PF_INET podczas wyboru protokołu, czyli tworzenia gniazda. Aktualnie AF_INET i PF_INET praktycznie nie różnią się niczym. Rozróżnienie istnieje z powodu oryginalnej koncepcji że, podczas projektowania interfejsu gniazda będzie sie rozróżniać typy protokołów (rodziny) i specyficzne typy adresów, z których każdy może korzystać. Przewidywano, że rodzina protokołów może mieć kilka typów adresów. Jednak ta koncepcja rozdzielenia protokołu i typu adresu nie znalazła wsparcia w implementacji, a stałe AF_ zostały po prostu zdefiniowane przez odpowiedni identyfikator protokołu, czyniąc rozróżnienie między stałymi AF_ a PF_ argumentem technicznym bez znaczących konsekwencji praktycznych.
- Q: W jaki sposób wypisać adress w printf ? A: Mona to zrobić przy pomocy funkcji: inet_ntop która zamienia struktórę adresową na tablicę char. Przykładowy kod
char buffer[INET_ADDRSTRLEN];
inet_ntop( AF_INET, &sa.sin_addr, buffer, sizeof( buffer ));
printf( "address:%s\n", buffer );