Upload
robert
View
5.570
Download
5
Embed Size (px)
Citation preview
Programowanie Sieciowe
Programowanie Sieciowe
mgr inz. Robert Nowotniak
Katedra Informatyki StosowanejWydział Elektrotechniki, Elektroniki, Informatyki i Automatyki
Politechnika Łódzka
2011
Robert Nowotniak 2011
Programowanie Sieciowe
Kontakt
Strona przedmiotu: http://rnowotniak.kis.p.lodz.pl/ps/E-mail: [email protected]: 323 (prosze o umawianie sie droga mailowa!)Karta przedmiotu na ECTS label:http://ectslabel.p.lodz.pl/?l=pl&s=programSiatka&w=WEE&p=2874&sp=2#
Robert Nowotniak 2011
Programowanie Sieciowe
Plan Wykładu 1
Informacje ogólne i organizacyjne1 Wymagania wstepne2 Harmonogram semestru, terminy3 Zasady, warunki zaliczenia4 Zakres materiału
Srodowisko Visual Studio 2010, podstawy C#1 Srodowisko Visual Studio 20102 Aplikacje w srodowisku tekstowym i graficznym3 Instrukcje sterujace, typy danych, operacje na łancuchach
tekstowych4 Aplikacje konsolowe5 Aplikacje w srodowisku graficznym6 Kontrolki, obiekty, własnosci, zdarzenia
Robert Nowotniak 2011
Programowanie Sieciowe
Plan Wykładu 1
Informacje ogólne i organizacyjne1 Wymagania wstepne2 Harmonogram semestru, terminy3 Zasady, warunki zaliczenia4 Zakres materiału
Srodowisko Visual Studio 2010, podstawy C#1 Srodowisko Visual Studio 20102 Aplikacje w srodowisku tekstowym i graficznym3 Instrukcje sterujace, typy danych, operacje na łancuchach
tekstowych4 Aplikacje konsolowe5 Aplikacje w srodowisku graficznym6 Kontrolki, obiekty, własnosci, zdarzenia
Robert Nowotniak 2011
Programowanie Sieciowe
Czego dotyczy przedmiot?
1 Komunikacja w sieciach komputerowychz poziomu jezyków programowania
2 Ustanawianie i obsługa połaczen miedzy hostami w sieci(klient TCP/UDP etc.)
3 Udostepnianie usług w sieci (pisanie serwerów TCP/UDP)
Robert Nowotniak 2011
Programowanie Sieciowe
Wymagania wstepne do przedmiotu
Zgodnie z karta przedmiotu:1 Podstawy Programowania2 Programowanie Obiektowe3 Sieci Komputerowe
Robert Nowotniak 2011
Programowanie Sieciowe
Podstawa zaliczenia przedmiotu
1 Czesc teoretyczna (Wykład) (25% oceny koncowej)krótki sprawdzian pisemny na ostatnich zajeciach (27.XI)
2 Laboratorium (75% oceny koncowej)wykonanie cwiczen wstepnych (25% oceny z laboratorium)PROJEKT (75% oceny z laboratorium)
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Harmonogram semestru
1 Zajecia 1 – zajecia wprowadzajace, wymagania,harmonogram, zakres materiału, warunki zaliczenia
2 Zajecia 2 – programowanie klientów usług, połaczeniaTCP/IP, nawiazywanie połaczen
3 Zajecia 3 – serwery usług (TCP, UDP), nasłuchiwanie naportach, tekstowe i binarne protokoły komunikacji
4 Zajecia 4 – połaczenia szyfrowane (SSL), mechanizmyzwielokrotniania wejscia/wyjscia, serwery wielowatkowe
5 Zajecia 5 – sprawdzian, prezentacje projektów6 29.I.2011 – ostatni dzien semestru: ostatni mozliwy termin
zaliczenia przedmiotu
Robert Nowotniak 2011
Programowanie Sieciowe
Laboratorium
1 proste zadania czastkowe, cwiczebne (25%)obsługa gniazd sieciowych (odczyt, zapis)klienty usług sieciowychserwery usług, nasłuchiwanie na portach
2 PROJEKT (75%)
Oddawanie zadania z opóznieniem (w stosunku doharmonogramu) wyklucza mozliwosc uzyskania maksymalnejoceny za to zadanie. Kazdy kolejny termin (zjazd) oddaniazadania obniza maksymalna ocene o 0.5.
Przedmiot musi byc zaliczony w trakcie semestru.
Robert Nowotniak 2011
Programowanie Sieciowe
Laboratorium
1 proste zadania czastkowe, cwiczebne (25%)obsługa gniazd sieciowych (odczyt, zapis)klienty usług sieciowychserwery usług, nasłuchiwanie na portach
2 PROJEKT (75%)
Oddawanie zadania z opóznieniem (w stosunku doharmonogramu) wyklucza mozliwosc uzyskania maksymalnejoceny za to zadanie. Kazdy kolejny termin (zjazd) oddaniazadania obniza maksymalna ocene o 0.5.
Przedmiot musi byc zaliczony w trakcie semestru.
Robert Nowotniak 2011
Programowanie Sieciowe
Laboratorium
1 proste zadania czastkowe, cwiczebne (25%)obsługa gniazd sieciowych (odczyt, zapis)klienty usług sieciowychserwery usług, nasłuchiwanie na portach
2 PROJEKT (75%)
Oddawanie zadania z opóznieniem (w stosunku doharmonogramu) wyklucza mozliwosc uzyskania maksymalnejoceny za to zadanie. Kazdy kolejny termin (zjazd) oddaniazadania obniza maksymalna ocene o 0.5.
Przedmiot musi byc zaliczony w trakcie semestru.
Robert Nowotniak 2011
Programowanie Sieciowe
Opis wykładu
1 Programowanie aplikacji klient-serwer w sieciach TCP/IP2 Programowy dostep do warstwy transportowej, warstwy
sieci, warstwy łacza danych3 Programowanie aplikacji klient-serwer z uzyciem
protokołów TCP/IP, UDP/IP oraz systemu gniazd Berkeley4 Architektury aplikacji serwerowych
jednowatkowe/wielowatkowe5 Przykłady obsługi gniazd w wybranych jezykach
programowania6 Techniki bezpiecznego przesyłu danych w sieciach IP,
tunelowanie i szyfrowanie ruchu
Robert Nowotniak 2011
Programowanie Sieciowe
Laboratorium – Przykładowe tematy projektów
1 Prosta gra logiczna: kółko i krzyzyk, statki, poker, warcaby,szachy etc., oferujaca rozgrywke przez siec
2 Serwer i/lub klient prostej usługi sieciowej: np. prosty klientIRC lub prosty serwer WWW
3 Program umozliwiajacy przesyłanie danych przez siec(w rodzaju FTP)
4 Klient+serwer umozliwiajace zdalne zarzadzaniekomputerem (zarzadzanie plikami, wyłaczenie komputeraetc.)
5 Klient+serwer umozliwiajace rozmowy Internetowe dlawielu uzytkowników
6 Sieciowa gra zrecznosciowa w rodzaju pong lub asteroids7 Serwer udostepniajacy muzyke8 Własna propozycja tematu
Robert Nowotniak 2011
Programowanie Sieciowe
Docelowy wymagany zakres wiedzy
1 Umiejetnosc ustanawiania i obsługi połaczen sieciowychz poziomu wybranego jezyka programowania
2 Umiejetnosc własciwego doboru protokołu warstwytransportowej oraz samodzielnego projektowania protokołuwarstwy aplikacji
3 Znajomosc podstawowych narzedzi monitorowaniapołaczen sieciowy, wgladu w zawartosc i w statystykipołaczen sieciowych
4 Ogólna znajomosc interfejsu gniazd Berkeley(socket, bind, listen, connect, ...)
Robert Nowotniak 2011
Programowanie Sieciowe
Docelowy wymagany zakres wiedzy
1 Umiejetnosc ustanawiania i obsługi połaczen sieciowychz poziomu wybranego jezyka programowania
2 Umiejetnosc własciwego doboru protokołu warstwytransportowej oraz samodzielnego projektowania protokołuwarstwy aplikacji
3 Znajomosc podstawowych narzedzi monitorowaniapołaczen sieciowy, wgladu w zawartosc i w statystykipołaczen sieciowych
4 Ogólna znajomosc interfejsu gniazd Berkeley(socket, bind, listen, connect, ...)
Robert Nowotniak 2011
Programowanie Sieciowe
System gniazd Berkeley
Interfejs Berkeley sockets API wywodzi sie z wczesnych wersjisystemu UNIX (4.2BSD1) i jest obecnie de facto standardemobsługi gniazd sieciowych w jezykach programowania.Obsługa komunikacji sieciowej w wiekszosc współczesnychjezyków bazuje na interfejsie Berkeley sockets.
Elementy interfejsu Berkeley socketsfunkcje: socket(), connect(), bind(), listen(), accept(), close(),select(), gethostbyname(), gethostbyaddr(), ...
1Berkeley Software Distribution – system operacyjny UNIX, rozwijany naUniwersytecie Kalifornijskim w Berkeley w latach 1977-1995
Robert Nowotniak 2011
Programowanie Sieciowe
System gniazd Berkeley
Interfejs Berkeley sockets API wywodzi sie z wczesnych wersjisystemu UNIX (4.2BSD1) i jest obecnie de facto standardemobsługi gniazd sieciowych w jezykach programowania.Obsługa komunikacji sieciowej w wiekszosc współczesnychjezyków bazuje na interfejsie Berkeley sockets.
Elementy interfejsu Berkeley socketsfunkcje: socket(), connect(), bind(), listen(), accept(), close(),select(), gethostbyname(), gethostbyaddr(), ...
1Berkeley Software Distribution – system operacyjny UNIX, rozwijany naUniwersytecie Kalifornijskim w Berkeley w latach 1977-1995
Robert Nowotniak 2011
Programowanie Sieciowe
Plan wykładu
Informacje ogólne1 Wymagania wstepne2 Harmonogram semestru, terminy3 Zasady, warunki zaliczenia4 Zakres materiału
Srodowisko Visual Studio 2010, podstawy C#1 Srodowisko Visual Studio 20102 Aplikacje w srodowisku tekstowym i graficznym3 Instrukcje sterujace, typy danych, operacje na łancuchach
tekstowych4 Aplikacje konsolowe5 Aplikacje w srodowisku graficznym6 Kontrolki, obiekty, własnosci, zdarzenia
Robert Nowotniak 2011
Programowanie Sieciowe
Plan wykładu
Informacje ogólne1 Wymagania wstepne2 Harmonogram semestru, terminy3 Zasady, warunki zaliczenia4 Zakres materiału
Srodowisko Visual Studio 2010, podstawy C#1 Srodowisko Visual Studio 20102 Aplikacje w srodowisku tekstowym i graficznym3 Instrukcje sterujace, typy danych, operacje na łancuchach
tekstowych4 Aplikacje konsolowe5 Aplikacje w srodowisku graficznym6 Kontrolki, obiekty, własnosci, zdarzenia
Robert Nowotniak 2011