Programowanie Systemów Rozproszonych Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch

Podobne dokumenty
Inżynieria Programowania Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch paduch@tu.kielce.pl

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Prosta książka telefoniczna z wykorzystaniem zapisu do pliku

Wprowadzenie do programowania i programowanie obiektowe

Instrukcja laboratoryjna cz.0

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Instrukcja konfigurowania poczty Exchange dla klienta pocztowego użytkowanego poza siecią uczelnianą SGH.

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Instrukcja obsługi Outlook Web App i konfiguracji Thunderbird

Regulamin zajęć z przedmiotu Chemia analityczna dla II roku Farmacji w roku akademickim 2018/19

SZKOLENIE OKRESOWE Z DZIEDZINY BHP INSTRUKCJA POSTĘPOWANIA

PODŁĄCZENIE I KONFIGURACJA BRAMKI VOIP

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Gniazda BSD implementacja w C#

PODŁĄCZENIE I KONFIGURACJA BRAMKI VOIP

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Ćwiczenie 1. Przygotowanie środowiska JAVA

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

Programowanie Systemów Rozproszonych Laboratorium 3 WCF. Paweł Paduch

Laboratorium 1 - Programowanie proceduralne i obiektowe

Jak korzystać z Platformy Edukacyjnej Historia dla Polonii?

REGULAMIN ZAJĘĆ DYDAKTYCZNYCH Z PRZEDMIOTU

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Zarządzenie nr 4/2016 Dziekana Wydziału Przyrodniczo-Technicznego z 08 lutego 2016 roku

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Podręcznik Użytkownika aplikacji NOVO Szkoła. Profil Opiekuna

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Git, Bitbucket, IntelliJ IDEA

REGULAMIN ZAJĘĆ DYDAKTYCZNYCH Z PRZEDMIOTU

Instalacja aplikacji

Zapamiętywanie haseł w przeglądarce Internet Explorer (elearning)

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

System egzaminów elektronicznych Instrukcja do Portalu Egzaminacyjnego i modułu task. Spis treści

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Programowanie zespołowe

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

R 1. Robot o równoległej strukturze kinematycznej i czterech stopniach swobody. Pracownia Nauki Programowania i Aplikacji Robotów Przemysłowych

Instrukcja korzystania z systemu poczty NetMail (wersja skrócona)

Konfiguracja programu pocztowego Mozilla Thunderbird do pracy w sieci NEO.pl

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

APLIKACJA SHAREPOINT

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

INSTRUKCJA INSTALACJI PŁATNOŚCI TRANSFERUJ.PL

Rejestracja studentów na zajęcia w systemie USOSweb.

Microsoft Office 365

Podręcznik użytkownika platformy szkoleniowej Audatex. wersja 1.2

Instrukcja użytkownika. Instrukcja konfiguracji i obsługi modułu e-rejestracja

Instrukcja użytkownika aplikacji npodpis r.

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

INSTRUKCJA OTWARCIA RACHUNKU ALIOR TRADER PRZEZ INTERNET

Postępowanie karne SNP (z) Zasady zaliczenia zajęć

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Przygotowanie plików do druku

Platforma e-learningowa UO strefa studenta

Konfiguracja poczty IMO w programach Microsoft Outlook oraz Mozilla Thunderbird

Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE

Programowanie Systemów Czasu Rzeczywistego

Rozdział 2. Debugowanie kodu

Zakładanie konta użytkownika na platformie do nauczania na odległość

INFO-NET.wsparcie. pppoe.in.net.pl. Pamiętaj aby nie podawać nikomu swojego hasła! Instrukcja połączenia PPPoE w Windows 7 WAŻNA INFORMACJA

Instrukcja instalacji Control Expert 3.0

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Techniki informacji i komunikacji

Instrukcja zarządzania kontami i prawami. użytkowników w systemie express V. 5

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych

Instrukcja instalacji programu SYSTEmSM

Bezpieczne logowanie do SAP

Szpieg 2.0 Instrukcja użytkownika

Jak pobrać plan zajęć? wersja 1.0

Instrukcja użytkownika aplikacji npodpis r.

Programowanie niskopoziomowe

Metody Metody, parametry, zwracanie wartości

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

Instrukcja rejestrowania pracy dyplomowej w APD Archiwum Prac Dyplomowych przez studenta

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Technologia informacyjna. 2. KIERUNEK: Logistyka. 3. POZIOM STUDIÓW: I stopnia

Zasady zaliczenia zajęć w roku akademickim 2016/2017 semestr letni

SUPLEMENT DO DYPLOMU

UNIFON podręcznik użytkownika

Podręcznik Użytkownika aplikacji NOVO Szkoła. Profil Ucznia

Laboratorium 16: Udostępnianie folderów

Dostęp bezprzewodowy do Uczelnianej Sieci Komputerowej Politechniki Poznańskiej Instrukcja dla studentów Politechniki Poznańskiej

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

WPROWADZENIE DO JĘZYKA JAVA

Korzystanie z platformy Instytutu Rozwoju Edukacji

Język Java i technologie Web - opis przedmiotu

Instrukcja pracy w systemie USOSweb dla wykładowców PWSZ w Koninie - wpisywanie ocen -

UCHWAŁA Nr 34 RADY WYDZIAŁU FIZYKI UNIWERSYTETU WARSZAWSKIEGO z dnia 31 maja 2010 r.

Konfiguracja podglądu obrazu z kamery IP / rejestratora BCS przez sieć LAN.

Wstęp do systemów wielozadaniowych laboratorium 01 Organizacja zajęć

INSTRUKCJA OBSŁUGI SZKOLENIA

MODUŁ NAUCZYCIEL - INSTRUKCJA OBSŁUGI

Instrukcja obsługi Platformy nszkoła. Panel Ucznia

Transkrypt:

Programowanie Systemów Rozproszonych Laboratorium 1 Wprowadzenie do Visual Studio i C# Paweł Paduch paduch@tu.kielce.pl 11-03-2019

Rozdział 1 Wstęp 1.1 Na początek Pierwsze zajęcia laboratoryjne z Programowania Systemów Rozproszonych mają charakter wprowadzający. Na początku studenci po otrzymaniu od prowadzącego loginów i haseł zostaną poproszeni o zalogowanie się. Pierwsze logowanie powinno odbywać się pod systemem Windows. W okienku logowania należy zaznaczyć Zaloguj do: KIN. Lub użyć przedrostka w nazwie użytkownika np. KIN\12345 Po wprowadzeniu pierwszy raz hasła należy hasło zmienić na swoje indywidualne. Hasło należy zapamiętać (lub nawet zapisać) gdyż indywidualny login i hasło będą używane przez cały semestr. Zalogowani studenci mają swoją przestrzeń na dysku sieciowym Z: tam też proszę zamieszczać swoje prace. 1.2 Uczestnictwo Zajęcia laboratoryjne są obowiązkowe. Każdy student ma obowiązek wpisać się na listę obecności, co będzie potwierdzeniem jego uczestnictwa na zajęciach. Spóźnienie powyżej 15 min. traktowane jest jako nieobecność. Odrabiać można jedynie nieobecności pisemnie usprawiedliwione (np. zwolnienie lekarskie, pismo urzędowe). Usprawiedliwienie należy okazać niezwłocznie (pierwsze laboratoria po okresie nieobecności) i umówić się na termin odróbczy. Usprawiedliwienia typu: musiałem być w pracy, uciekł mi autobus/pociąg/taksówka, źle się czułem, nie miałem z kim dziecka zostawić nie będą honorowane. Zgodnie z regulaminem studiów Nieobecność studenta nawet usprawiedliwiona, na więcej niż 1/3 zajęć, może być podstawą do niezaliczenia tych zajęć. Kolejne 3 nieobecności będą zgłaszane do dziekana w celu weryfikacji listy studentów. 1

1.3 Zasady zaliczenia Zaliczenie uzyska student, który w ciągu całego semestru uzyskał sumarycznie przynajmniej połowę punktów przewidzianych do zdobycia. W przypadku kilku prowadzących punkty te będą przeliczane wagowo w zależności jaką część zajęć dany prowadzący wykonał w ciągu semestru. Na zaliczenie laboratorium składać się będą 3 elementy: Na każdych zajęciach laboratoryjnych studenci wykonują zadania przedstawione przez prowadzącego. Zadania te są oceniane w skali od 0 do 5 punktów. Po każdych laboratoriach student powinien przesłać sprawozdanie z zajęć. Sposób przekazania i termin ustala prowadzący. Za prawidłowe sprawozdanie student może otrzymać maksymalnie 1 punkt. Podczas zajęć mogą odbywać się sprawdziany weryfikujące nabytą wiedzę. Ocena ze sprawdzianów to około 50% całkowitej oceny. 1.4 Poprawy Student, który nie uzyskał zaliczenia w trakcie trwania semestru może się o nie ubiegać dwukrotnie w trakcie trwania sesji egzaminacyjnej, w tym raz podczas sesji poprawkowej. Poprawa będzie polegała na napisaniu sprawdzianu (przynajmniej na połowę punktów) oraz wykonaniu części praktycznej. 1.5 Moodle Każdy student powinien mieć założone konto na wydziałowej platformie edukacyjnej http://www.weaii-moodle.tu.kielce.pl/ Hasła do kursu poda prowadzący. 1.6 zasady korespondencji Zasady korespondencji opisałem pod adresem https://achilles.tu.kielce.pl/portal/members/332bd2d158a24964b2b98a7fc2879842/ogolnezasady-korespondencji-mailowej Należy przede wszystkim pamiętać o: prawidłowej konfiguracji programu pocztowego tak aby w polu nadawca widniało imię i nazwisko zamieszczeniu tematu maila łącznie z podaniem nazwy grupy np. 1ID21A podaniu treści maila wraz z podpisem 1.7 Sprawozdania Po każdych zajęciach laboratoryjnych należy przesłać sprawozdanie (chyba, że prowadzący ustali inaczej). 2

Czas na oddanie sprawozdania jest do końca (czyli do godziny 23:59:59,99) następnego dnia roboczego. Sprawozdanie powinno być w formie.odt (plik Open/Libre Office). W sprawozdaniu umieszczamy jedynie fragmenty kodu (nie przekraczające strony). Kod o większej objętości należy wysłać jako osobne załączniki. W szczególności można wysłać cały projekt wcześniej skompresowany ZIPem. Sprawozdanie ma być formą dokumentu co zrobione zostało na zajęciach, nie pracą domową. Punkty, które nie zostały wykonane na zajęciach takie też pozostają w sprawozdaniu. 1.8 Prace domowe Jeżeli na kolejne zajęcia jest zadana praca domowa (np. przemyśleć komunikację, zaprojektować klasę transportową itp.), należy ją także przesłać na maila zgodnie z zasadami korespondencji najpóźniej na 2 dni przed planowanymi zajęciami. 1.9 Zasady podczas pisania sprawdzianów Sprawdziany będą przeprowadzane na platformie moodle. Maksymalny czas przeznaczony na sprawdzian zależny będzie od jego zawartości, zwykle kilka minut. Na pytania opisowe należy udzielać odpowiedzi precyzyjnie (sprawdzane są z automatu). Pytania testowe są wielokrotnego wyboru. Nie ma punktów ujemnych. Przed rozpoczęciem testu należy: wyłączyć i schować telefony komórkowe usunąć z uszu, szyi czy głowy i schować wszelkiego rodzaju słuchawki (osoby niedosłyszące proszę zgłosić fakt posiadania aparatu słuchowego, na czas testu aparat ten nie będzie potrzebny) usunąć wszystkie zbędne rzeczy z biurka (portfele, długopisy, kartki, zeszyty, torebki, kalkulatory, napoje, jedzenie, maskotki itp.). zamknąć lub odłożyć w miejsce niedostępne wszelkie torby i plecaki. Podczas testu nie jest dozwolone: korzystanie z Internetu (za wyjątkiem strony moodle) korzystanie z innych aplikacji niż przeglądarka internetowa (np. komunikatory, terminale, programy LibreOffice, kalkulatory itp.) korzystanie z telefonów komórkowych korzystanie z kalkulatorów używanie pamięci przenośnych używanie rejestratorów dźwiękowych jak i wizyjnych 3

udostępnianie zasobów komputera swojego lub korzystanie z zasobów innych komputerów odwracanie się, zerkanie na sąsiedni monitor, rozglądanie lub rozmawianie używanie ściąg W przypadku naruszenia powyższych zasad lub przejawu innego nieuczciwego zachowania w trakcie sprawdzianu, student może otrzymać ocenę 0 w trybie natychmiastowym bez możliwości poprawy w późniejszym terminie! 1.10 Materiały pomocniczne Do zajęć przydatne mogą być: materiały udostępniane przez prowadzących wykłady książki związane z tematyką programowania np. Język C# 2010 i platforma.net Andrew Troelsena książki związane z tematyką programowania współbieżnego np. Programowanie równoległe i asynchroniczne w C# 5.0 kursy i poradniki w sieci np. http://www.centrumxp.pl/ 4

Rozdział 2 Pierwsze kroki z VS Po zalogowaniu się z menu start odnajdujemy program Microsoft Visual Studio 2010, lub nowszy. Przy pierwszym uruchomieniu poproszeni zostaniemy o wybór preferowanego języka, będzie nim C#. Z górnego menu wybieramy: File->New Project. W okienku jak na rysunku Rysunek 2.1: Okienko wybierania nowego projektu 2.1 zaznaczamy Visual C#->Windows Console Application. Na dole wpisujemy nazwę projektu Hello i nazwę solucji Lab1, potwierdzamy OK. Utworzony zostanie prosty projekt konsolowy z przygotowanym kodem. Można wypełnić kod metody Main prostą linijką. 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Hello Listing 2.1: Program.cs 5

7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 Console.WriteLine("Hello"); 13 } 14 } 15 } Już teraz program można skompilować i zobaczyć jak działa Kompilacja i uruchomienie ctrl+f5 lub F5 - w trybie debugowania. 6

Rozdział 3 Pierwszy komunikat Dodajemy nowy projekt do solucji Lab1 Rysunek 3.1: Okienko wybierania nowego projektu We właściwościach solucji zmienić Startup Project na Multiple startup projects jak na rys. 3.2 Dzięki temu oba projekty będą startowały jednocześnie przy uruchamianiu. W obu projektach Serwer w plikach Program.cs dodajemy dwie nowe przestrzenie nazw: 1 using System.Net.Sockets; 2 using System.Net; Listing 3.1: Nowe przestrzenie nazw W obu plikach dodajemy też obiekty klasy TcpListener oraz Socket. Listing 3.2: Nowe obiekty 7

Rysunek 3.2: Start obu projektów 1 private static TcpListener tcplsn; 2 private static Socket s; W programie serwera dodajemy metodę serwuj() Listing 3.3: Metoda serwuj 1 static void serwuj() 2 { 3 tcplsn = new TcpListener(IPAddress.Parse("127.0.0.1"), 2222); //zainicjiuj listenera na podanym porcie i adresie 4 tcplsn.start(); 5 Socket sckt = tcplsn.acceptsocket(); //funkcja blokująca do czasu nadejścia połączenia 6 Byte[] odebranebajty = new Byte[100]; 7 int ret = sckt.receive(odebranebajty, odebranebajty.length, 0); 8 string tmp = null; 9 tmp = System.Text.Encoding.ASCII.GetString(odebraneBajty); 10 if (tmp.length > 0) 11 { 12 Console.WriteLine("Odebrałem komunikat:"); 13 Console.WriteLine(tmp); 14 } 15 tcplsn.stop(); 16 } Oraz wołamy w głównym programie: Listing 3.4: Zmiany w Main 1 static void Main(string[] args) 2 { 3 Console.WriteLine("Startuję serwer..."); 4 serwuj(); 5 } 8

W projekcie Hello Dodajemy metody polacz i wyslij oraz modyfikujemy Main: 1 Listing 3.5: Zmiany w Main 2 private static void polacz() 3 { 4 s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 5 IPAddress hostadd = IPAddress.Parse("127.0.0.1"); 6 int port = 2222; 7 8 9 IPEndPoint EPhost = new IPEndPoint(hostadd, port); 10 s.connect(ephost); 11 } 12 13 private static void wyslij(string wiadomosc) 14 { 15 16 Byte[] bytedata = Encoding.ASCII.GetBytes(wiadomosc.ToCharArray()); 17 s.send(bytedata, bytedata.length, 0); 18 } 19 20 static void Main(string[] args) 21 { 22 polacz(); 23 Console.WriteLine("Wysyłam komunikat..."); 24 wyslij("ala ma kota"); 25 } Teraz można uruchomić programy. Na konsoli Serwera powinniśmy zobaczyć przesłany komunikat. 9

Rozdział 4 Pierwsze Zadanie Należy tak zmodyfikować program by stworzyć prosty komunikator. Użytkownik powinien móc naprzemiennie wpisywać tekst raz w jednym raz w drugim terminalu. Tekst powinien być przekazywany przez łącze TCP/IP tak jak na powyższym przykładzie. Program powinien się zakończyć gdy w którejkolwiek konsoli użytkownik napiszę słowo quit. Należy dodać obsługę błędów, przechwycenie wyjątków. 10

Rozdział 5 Komunikator wersja współbieżna Przerobić komunikator, do wersji współbieżnej. 11