• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Biblioteka Winsock i chęć jej poznania. Potrzebne wytłumaczenie.

0 głosów
159 wizyt
pytanie zadane 21 stycznia 2016 w C i C++ przez karnal3 Nowicjusz (120 p.)

Witam. Dostałem za zadanie napisać prosty chat. Dostałem w tym celu link do tutoriala :

http://www.binarytides.com/winsock-socket-programming-tutorial/

Jest on świetnie wytłumaczony lecz znalazłem także coś takiego :

http://www.binarytides.com/code-tcp-socket-server-winsock/

Program z drugiego linku działa w taki sposób, że przez telnet wysyłany jest znak do serwera i serwer ten sam znak zwraca do konsoli telnetu i moja prośba jest taka : Czy ktoś potrafi mi wytłumaczyć jak biblioteka Winsock działa i czemu ten drugi program jest tak a nie inaczej zbudowany ? Bo dla mnie jest idealny, muszę zbudować identyczny ale nie wiem jak ugryźć Winsock. Dowiedziałem się z 1 linku jak on działa, jak stworzyć socket i tak dalej, ale nie wiem w którym momencie mogę po deklaracji tego wszystkiego móc zaimplementować swój kod, czyli po prostu nie wiem jak użyć tych deklaracji w moim programie.

 

1 odpowiedź

+2 głosów
odpowiedź 21 stycznia 2016 przez mbabane Nałogowiec (48,840 p.)

na laboratoriach z sieci dostawalismy, do instrukcji laboratoryjnej, prosty schemat dzialania programu moze Ci pomoże:

dla UDP:

1. Inicjalizacja WinSock'a – WSAStartup (nadawca i odbiorca).
2. Utworzenie gniazda – socket (nadawca i odbiorca).
3. Nadawca – pobranie adresu IP, numeru portu serwera/odbiorcy oraz
komunikatu do wysłania (wszystkie dane podaje użytkownik).
4. Odbiorca – pobranie adresu IP i portu, na których ma nasłuchiwać
serwer/odbiorca (dane podaje użytkownik).
5. Nadawca i odbiorca – ustawienie pól struktury 'sockaddr_in' pobranymi
uprzednio danymi dla serwera/odbiorcy.
6. Nazwanie gniazda – bind (odbiorca).
7. Wysyłka – sendto (nadawca).
8. Odbiór i wyświetlenie odebranych danych – recvfrom (odbiorca).
9. Zamknięcie gniazda – closesocket (nadawca i odbiorca).
10.Zwolnienie WinSock'a – WSACleanup (nadawca i odbiorca).

dla TCP:

1. Inicjalizacja WinSock'a – WSAStartup (nadawca i odbiorca).
2. Utworzenie gniazda – socket (nadawca i odbiorca).
3. Nadawca – pobranie adresu IP, numeru portu serwera/odbiorcy oraz
komunikatu do wysłania (wszystkie dane podaje użytkownik).
4. Odbiorca – pobranie adresu IP i portu, na których ma nasłuchiwać
serwer/odbiorca (dane podaje użytkownik).
5. Nadawca i odbiorca – ustawienie pól struktury 'sockaddr_in' pobranymi
uprzednio danymi dla serwera/odbiorcy.
6. Nazwanie gniazda – bind (odbiorca).
7. Nawiązanie połączenia – connect (nadawca), nasłuch na gnieździe – listen
(odbiorca).
8. Wysyłka – send (nadawca).
9. Akceptacja nawiązanego połączenia – accept (odbiorca).
10.Odbiór i wyświetlenie odebranych danych – recv (odbiorca).
11.Zamknięcie gniazda – closesocket (nadawca i odbiorca).
12.Zwolnienie WinSock'a – WSACleanup (nadawca i odbiorca).

Podobne pytania

0 głosów
0 odpowiedzi 97 wizyt
0 głosów
1 odpowiedź 74 wizyt
pytanie zadane 12 lutego w C i C++ przez Hiskiel Pasjonat (16,930 p.)
0 głosów
2 odpowiedzi 80 wizyt
pytanie zadane 19 maja w C i C++ przez Mamrotek Nowicjusz (180 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

54,387 zapytań

98,241 odpowiedzi

202,066 komentarzy

26,700 pasjonatów

Przeglądających: 170
Pasjonatów: 2 Gości: 168

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...