ncb, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, kolos sieci


ncb_command -pole zawierające kod lub mnemonik odpowiedniego polecenia

ncb_retcode - pole zawierające kod zwracany przez NetBiosa

ncb_lsn - pole zawierające identyfikator połączenia, nadawany przez NetBios po nawiązaniu połączenia

ncb_num - pole zawierające identyfikator nazwy, nadawany przez NetBios po nadaniu nazwy (ADD NAME lub ADD GROUP NAME)

ncb_buffer - wskaźnik na bufor danych

ncb_length - pole zawierające długość bufora danych

ncb_callname - pole zawierające nazwę zdalną, tj. nazwę odbiorcy lub nadawcy, używane przy transmisji połączeniowej

ncb_name - nazwa lokalna, nadawana przez ADD NAME lub ADD GROUP NAME, nazwa węzła

ncb_rto - czas oczekiwania na odbiór (receive time-out)

ncb_sto - czas oczekiwania na wysyłkę (send time-out)

ncb_lana_num - numer karty sieciowej

Najważniejsze możliwości ustawienia pola ncb_command:

ncb_command = NCBRESET - resetowanie węzła NetBios

ncb_command = NCBADDNAME - nadanie nazwy unikatowej węzła

ncb_command = NCBADDGRNAME - nadanie nazwy grupowej

ncb_command = NCBDELNAME - usunięcie nazwy węzła

ncb_command = NCBDGSENDBC - broadcastowa wysyłka datagramu (do wszystkich)

ncb_command = NCBDGRECVBC - odbiór broadcastowego datagramu

ncb_command = NCBDGSEND - unicastowa lub multicastowa wysyłka datagramu (do konkretnego węzła lub grupy węzłów)

ncb_command = NCBDGRECV - odbiór unicastowego lub multicastowego datagramu

ncb_command = NCBCALL - nawiązanie sesji (połączenia) po stronie nadawcy

ncb_command = NCBLISTEN - nawiązanie sesji (połączenia) po stronie odbiorcy

ncb_command = NCBSEND - wysłanie danych za pomocą sesji

ncb_command = NCBRECV - odebranie danych za pomocą sesji

ncb_command = NCBHANGUP - zerwanie sesji (połączenia), po stronie nadawcy lub odbiorcy, nie obu

WSAStartup(version, &wsadata) - służy do inicjalizacji WINSOCK, konieczna na początku każdego programu, jako parametry przyjmuje version - wersje WINSOCK i &wsadata - wskaźnik na strukturę WSAData zawierającej szczegóły implementacji WINSOCK, zwraca 0 jeżeli inicjalizacja się powiedzie lub kod błędu w przeciwnym wypadku

gethostname(nazwa, sizeof(nazwa)) - pobiera nazwę hosta do zmiennej nazwa (typu string), zwraca 0 jeżeli operacja się powiedzie, w przeciwnym wypadku kod błędu

gethostbyname(nazwa) - informacja zwraca strukturę hostent, zawierającą informacje o hoście o podanej nazwie (np. nazwę, IP etc.)

gethostbyaddr(ipBin, 4, AF_INET) - zwraca strukturę hostent, zawierającą informacje o hoscie o ip podanym w izbin (adres w ipBin uzyskuje się poprzez potraktowanie adresu w formacie a.b.c.d zapisanego w stringu funkcją inet_addr, np. ipBin = inet_addr(nrIp)), 4 oznacza długość adresu ipBin która zawsze jest równa 4 dla AF_INET

socket(AF_INET, typGniazda, rodzajProtokolu) - tworzy gniazdo i zwraca jego numer (będący intem) lub -1 jeżeli operacja się nie powiodła; pierwszy parametr to typ używanych adresów (dla Internetu AF_INET), drugim parametrem jest typ gniazda (SOCK_DGRAM dla transmisji bezpołączeniowej i SOCK_STREAM dla transmisji połączeniowej), trzeci to rodzaj używanego protokołu - IPPROTO_UDP dla transmisji bezpołączeniowej, IPPROTO_TCP dla transmisji połączeniowej (można też wpisać 0, wtedy program sam sobie wybierze (?) i też będzie działać)

sendto(socketNum, wiadomosc, dlugoscWiad, 0, (struct sockaddr *)&socket, &x) - wysyłanie wiadomości w transmisji bezpołączeniowej, funkcja zwraca ilość wysłanych charów jeżeli wysyłka się powiodła, przyjmuje za parametry numer gniazda otrzymany po wykonaniu funkcji socket(), bufor z wiadomością do wysłania, długość wysyłanej wiadomości, 0 lub flagę mającą wpływ na wysyłanie danych, zmienną typu sockaddr_in zawierającą informacje o odbiorcy (ip, numer portu) rzutowaną na typ sockaddr, wskaźnik na zmienną zawierającą wielkość zmiennej socket

recvfrom(socketNum, wiadomosc, długośćWiad, 0, (struct sockaddr *)&socket, &x) - odbieranie wiadomości w transmisji bezpołączeniowej, za parametry przyjmuje numer socketa zwrócony przez socket(), bufor do którego będzie zapisana otrzymana wiadomosc, długość wiadomości, 0 lub flagi, zmienną do której będzą zapisane informacje o nadawcy, wskaźnik na zmienną zawierająco wielkość zmiennej socket (która jest typu sockaddr_in); dwa ostatnie parametry można ustawić odpowiednio na NULL i 0

bind(socketNum,(struct sockaddr *)&socket,&x) - nazwanie gniazda, tj. przypisanie gniazdu socketNum właściwości ze zmiennej socket, czyli np. określenie na którym porcie będzie wykonywany nasłuch; funkcja najczęściej używana w programie odbiorcy w transmisjach połączeniowych

connect(socketNum, (struct sockaddr *) &socket, &x) - nawiązanie połączenia przez gniazdko socketNum z gniazdem, o którym informacje zawarte są w zmiennej socket

listen(socketNum, 5) - nasłuch prowadzony przez gniazdo socketNum, drugi parametr określa ile połączeń jednocześnie może być obsłużonych (od 1 do 5)

accept( socketNum, (struct sockaddr *) &socket,&x) - nawiązuje połączenie oczekujące w kolejce połączeń gniazda socketNum ustawionego w tryb nasłuchu funkcją listen(), dwa ostatnie parametry służą do identyfikacji nadawcy i są opcjonalne, funkcja tworzy nowe gniazdo i zwraca jego numer (odbiór wiadomości odbywa się na nowym gnieździe)

send(socketNum, wiadomosc, dlugoscWiad, 0) - wysyłka w transmisji połączeniowej

recv(socketNum, wiadomosc, długośćWiad, 0) - odbiór wiadomości w transmisji połączeniowej, tutaj socketNum nie jest numerem gniazda zwróconym przez akcept()

closesocket(socketNum) - zamknięcie gniazda socketNum

WSACleanup() - zwolnienie WinSocka

htons(liczba) - konwertuje liczbę typu u_short (na dobrą sprawę może być int) z host na network byte order

htonl(liczba) - konwertuje liczbę typu u_long (na dobrą sprawę może być int) z host na network byte order

ntohs(liczba) - konwertuje liczbę typu u_short (na dobrą sprawę może być int) z network na host byte order

ntohl(liczba) - konwertuje liczbę typu u_long (na dobrą sprawę może być int) z network na host byte order

inet_addr(string) - konwertuje string zawierający IP w formacie a.b.c.d na typ in_addr która może być użyta w zmiennej typu sockaddr_in

inet_ntoa(in_adrr) - zamienia adres IP w formacie in_addr na stringa zawierającego to IP w formacie a.b.c.d




Wyszukiwarka

Podobne podstrony:
sieci ściąga, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe
Pytania-sieci, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe, gawlik,
Sieci komputerowe, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe, gaw
materialy, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe
http & krypto, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe, Sieci p
Sieci komputerowe, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe, sie
Zestaw 3, Studia PŚK informatyka, Semestr 4, sieci, kolos sieci, SK, sieci komputerowe, gawlik, Kolo
tomaszewski2, Studia PŚK informatyka, Semestr 4, Sieci komputerowe, sieci
Sieci, Studia PŚK informatyka, Semestr 4, SK kolos
Netbios, Studia PŚK informatyka, Semestr 4, SK kolos
dhcp, Studia PŚK informatyka, Semestr 4, SK kolos
NCBb, Studia PŚK informatyka, Semestr 4, SK kolos
siecii, Studia PŚK informatyka, Semestr 4, SK kolos
WinSock-PL, Studia PŚK informatyka, Semestr 4, SK kolos
Sockety, Studia PŚK informatyka, Semestr 4, SK kolos
ssciaga, Studia PŚK informatyka, Semestr 4, Bazy Danych 2, Bazy Danych Zaliczenie Wykladu, Bazy Dany
Si lab1, Studia PŚK informatyka, Semestr 5, semestr 5, SI 2, Sprawozdanie lab1
sc, Studia PŚK informatyka, semestr 2, archtektura
G312A-K04-P5, Studia PŚK informatyka, Semestr 5, semestr 5, SI 2, Sprawozdanie lab5

więcej podobnych podstron