Politechnika Warszawska Wydział Elektryczny. Kamil Deryński Nr albumu: Projekt koncepcyjny gry sieciowej.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Politechnika Warszawska Wydział Elektryczny. Kamil Deryński Nr albumu: 197570. Projekt koncepcyjny gry sieciowej."

Transkrypt

1 Politechnika Warszawska Wydział Elektryczny Kamil Deryński Nr albumu: Simple Online GAME Projekt koncepcyjny gry sieciowej. Praca na projekt indywidualny w roku 2007r. Kierunek Informatyka (semestr 4). Praca wykonana pod kierunkiem mgr inż. Konrada Andrzeja Markowskiego, Instytut Sterowania i Elektroniki Przemysłowej. Maj 2007

2 Streszczenie: W pracy tej przedstawiam koncepcję i konkretny zarys gry sieciowej, która to była tematem projektu indywidualnego. W poszczególnych działach opiszę wybrane technologie użyte podczas realizacji projektu, a także przedstawię powszechnie stosowane schematy konstrukcji takich aplikacji. Następnie opisuję szczegóły programu oraz problemu występujące podczas prac. Wprowadzenie: Gry sieciowe są naturalnym rozszerzeniem gier trybu jednoosobowego. Umożliwiają wspólną rozgrywkę dla więcej niż jednego gracza w tym samym czasie. Wraz z ewolucją i ekspansją Internetu tzw. tryb Multiplayer jest nieodłącznym elementem każdej gry. Popularyzację na szeroką skale gry wieloosobowej przez sieć zawdzięczamy głównie grą typu FPS (First Person Shooter), przedstawicielem takiego gatunku jest Quake, pierwsza część tej gry oferowała już bardzo dużą funkcjonalność dotyczącą rozgrywki wieloosobowej, wydajne serwery umożliwiające grę wielu uczestników jednocześnie dołączanych do gry podczas toczącej się już rozgrywki, a także optymalizowany przepływ danych, co pozwoliło na wymianę wielu danych dla obsługi skomplikowanego środowiska. (QuakeWorld) Weryfikacja wstępnych założeń projektu 1 : Projekt nie został zakończony wykonaniem w pełni działającej gry sieciowej, co jest naturalną implikacją nie spełnienia wszystkich założeń projektu, jednak prace trzymały się głównych przedstawionych wcześniej założeń, które wypunktuję poniżej: Założenia funkcjonalne: 1. Program umożliwia grę 2 osobową 2. Warstwa sieci aplikacji opiera się na modelu klientserwer. 3. Rozgrywka toczy się w czasie rzeczywistym. 4. Zarówno serwer jak i klient wbudowany jest w program, dokonujemy wyboru, jaką rolę będzie pełnić jedna z instancji programu. 5. Budowa gry umożliwia implementowanie typu zręcznościowego. 1 Wstępne założenia projektu dostępne w pliku WstępneZalozenia.pdf 2

3 Założenia implementacyjne: 1. Język programowania cała aplikacja napisana została z wykorzystaniem języka C++ z użyciem STL (Standard Template Library). 2. Wykorzystane biblioteki w początkowych założeniach miała być to biblioteka Allegro jednak zdecydowałem się ostatecznie na dobrze mi znaną przenośną bibliotekę SDL z pomocą biblioteki, SDL_gfx do rysowania prymitywów graficznych. 3. Warstwa sieciowa - SDL_net jako wraper programowania gniazd sieciowych dający pełną przenośność programu. 4. IDE Microsoft Visual Studio C++ Express wraz z kompilatorem MS dostarczanym w pakiecie. Wprowadzenie do użytych bibliotek oraz narzędzi: Biblioteka SDL: SDL(Simple DirectMedia Layer) to biblioteka ułatwiająca tworzenie gier oraz programów multimedialnych. Posiada oficjalne wsparcie dla ponad 20stu systemów operacyjnych w tym tych najpopularniejszych, czyli MS Windows, GNU/Linux, BSD, a także tych niszowych jak choćby AmigaOS czy też QNX. SDL nie oferuje wysokopoziomowych funkcji, jest raczej warstwą gwarantującą przenośność. Do tego celu właśnie została stworzona (LGPL) w 1998r przez Sama Lantiga z firmy Loki. Przykładowe gry korzystające z SDL: - Battle for Wesnoth - Frozen Bubble - Neverwinter Nights - Quake4 (tylko w wersji pod Linuksa) Ogólny schemat działania, SDL: 3

4 SDL_gfx biblioteka, która wyewoluowała z kodu SDL_gfxPrimitives obecnie oferuje znacznie więcej niż tylko udostępnianie funkcji do rysowania prymitywów. Biblioteka została napisana przez Andreas Schifflera, przez, którego udostępniana jest na licencji LGPL. Komponenty biblioteki SDL_gfx: Graphic Primitives (SDL_gfxPrimitves.h) Rotozoomer (SDL_rotozoom.h) Framerate control (SDL_framerate.h) MMX image filters (SDL_imageFilter.h) SDL_net biblioteka, dzięki, której można uzyskać przenośność programów sieciowych pisanych z wykorzystaniem gniazd. Uwalnia programistę z konieczności pisania tej samej funkcjonalności sieciowej dwa razy (implementacja socketów POSIX oraz implementacja winsock w MS windows). Microsoft Visual Studio C++ Express w pełni darmowa wersja do użytku komercyjnego środowiska programistycznego firmy Microsoft. Wersja Express jest ograniczona brakiem kilku funkcji oraz innym kompilatorem, który produkuje pliki wykonywalne wymagające pakietu Redistribution na komputerze, na którym chcemy uruchomić skompilowany program. Jednak niedogodność kompilatora można ominąć instalując darmowy Toolkit Niezaprzeczalną zaletą MS VS jest obecność zintegrowanego bardzo dobrego debugera, który znacznie ułatwia wykrywanie błędów. TortoiseSVN do zarządzania wersjami programu oraz do sprawniejszego panowania nad kodem używałem SubVersion, systemu kontroli wersji. Moje repozytorium jest dostępne w Internecie pod adresem svn://dragon.dust.pl/osg (we wczesnej fazie rozwoju do repozytorium nie ma publicznego dostępu). Do korzystania z SubVersion używam programu TortoiseSVN, który integruje się z interfejsem systemu Windows i umożliwia pełną obsługę możliwości udostępnianych przez serwer SVN. STL(Standard Template Library) standardowa biblioteka zgodna ze standardem ANSI języka C++. Umożliwia programowanie generyczne oraz m.in. dostęp do złożonych typów danych, a także udostępnia cały wachlarz algorytmów oraz dynamicznych struktur danych. 4

5 Opis enginu gry: Główny engine, na którym opiera się gra zawiera się w pliku engine.h, engine.cpp. Pliki te zawierają opis oraz implementacje klasy silnika gry, który dzieli się na kilka głównych części: 1. Główne zmienne i dane (powierzchnia ekranu, dane okna, zmienna wyjściowa, manager Frame Limitera itd.) 2. Metody głównego enginu: Init, Start, DoRender, DoThink (odpowiadające inicjalizacji bibliotek obsługi, inicjalizacja enginu, podstawowe funkcje renderujące, podstawy obliczeń oraz obsługa defaultowych akcji). 3. Cała gama metod wirtualnych: dzięki nim w klasie dziedziczącej po klasie engine, można definiować specyficzne dla implementacji konkretnej gry cechy). Listing definicji klasy engine (engine.h): #ifndef ENGINE_H #define ENGINE_H #include "SDL.h" #include "SDL_NET.h" #include "SDL_framerate.h" class CEngine { private: int m_iwidth; int m_iheight; bool m_bquit; const char* m_cztitle; SDL_Surface* m_pscreen; FPSmanager* fps_manager; protected: void DoThink(); void DoRender(); void SetSize(const int& iwidth, const int& iheight); void HandleInput(); public: CEngine(); virtual ~CEngine(); void Init(); void Start(); virtual void AdditionalInit () {} virtual void Think ( ) {} 5

6 virtual void Render( SDL_Surface* pdestsurface ) {} virtual void End() {} virtual void KeyUp (const int& ikeyenum) {} virtual void KeyDown (const int& ikeyenum) {} }; void SetTitle (const char* cztitle); const char* GetTitle(); SDL_Surface* GetSurface(); #endif // ENGINE_H Klasa myengine, która dziedziczy po klasie engine wzbogaca go o m.in. obsługę sieci. W obiekcie klasy myengine powoływane są między innymi obiekty klas CListener oraz CSender, które są interfejsami sieciowymi dla instancji serwera oraz klienta aplikacji. Obiekty te udostępniają metody służące do wysyłania danych oraz odbierania (void mysend(int,int,int) oraz void listen(void)). Realizacja warstwy sieciowej: Realizacja przesyłu danych wykonywana jest przy pomocy gniazd datagramowych, a więc wykorzystywany jest protokół UDP, który jest bezpołączeniową metodą komunikacji w sieci typu IP. Model wykorzystany do rozmowy aplikacji między sobą to tradycyjny klient-serwer. Schemat modelu klient-serwer: W aplikacji został zaimplementowany typowy model aplikacji sieciowej typu klient-serwer. Serwer tworzy gniazdo sieciowe, a następnie przypisuje go do adresu sieciowego komputera oraz do podanego numeru portu, na którym chcemy, aby nasz serwer nasłuchiwał. Po otrzymaniu informacji serwer przetwarza otrzymane dane, a następnie odsyła te dane nadawcy. Klient właściwie nie różni się bardzo od serwera. Jednak elementy odróżniające implementacje klienta od implementacji serwera to: otwieranie losowego portu z zakresu wysokich portów (SDLNet_UDP_Open(0) argument 0 oznacza port losowy), Bindowanie socketu na podany adres serwera oraz jego port ostatnia różnica to zamieniona kolejność wywoływania funkcji wysyłania i odbioru klient najpierw wysyła dane, a następnie oczekuje przetworzonych danych przez serwer, do którego kierował żądanie. 6

7 socket socket bind bind recv Dane (żądanie) send Przetwarza nie żądania send Dane (odpowiedź) recv Rys. Uproszczony schemat modelu klient-serwer. Definicja klasy właściwego serwera UDP: #ifndef UDP_SERVER_H #define UDP_SERVER_H #include <stdio.h> #include <stdlib.h> #include <string.h> #include "SDL_net.h" class CUDP_server { private: UDPsocket sd; IPaddress srvadd; UDPpacket *p; public: 7

8 CUDP_server(char* host, int port); char* getdata(); void setdata(char* inputdata); void restart(); }; #endif Opis pakietu UDP typu UDPpacket: p->channel kanał pakietu (priorytety). p->data - dane, które niesie pakiet. p->len - długość danych p->maxlen - maksymalna długość danych - p->address.host - adres hosta p->address.port - numer portu Wydruk z logu serwera gry: UDP Packet incoming Chan: -1 Data: 400;300;0; Data sizeof: 4 Len: 10 Maxlen: 32 Status: 10 Address: a00a8c Wydruk pakietu w postaci ASCII wczesna wersja programu. ASCII [CnE$T[l400;300; Po nagłówku pakietu UDP następują dane przesyłane z klienta do serwera (zaznaczone na czerwono). Zrzut ekranu na podgląd pakietu ze snifera (Wireshark) Dlaczego UDP? Protokół UDP jest bezpołączeniowy, a więc nie wykorzystuje się tu mechanizmu połączeń i mechanizmu 3-krotnego uścisku 8

9 dłoni. Dzięki temu UDP jest znacznie szybsze niż połączenia TCP, szacuje się, że dla rozwiązań wymagających powyżej 4 połączeń na sekundę użycie protokołu bezpołączeniowego jest znacznie korzystniejsze. Jednak najważniejsza wadą UDP jest brak potwierdzenia odbiorcy o właściwym otrzymaniu pakietu. Możliwa jest, więc utrata pakietu bez wiedzy nadawcy. Nie jest to problemem przy nadawaniu kilku pakietów na sekundę, ponieważ informacje nadmiarowe uzupełniające ewentualny brak. Problem pojawia się w przypadku synchronizacji gry dzięki numerowi klatki, w którym wykonywana jest dana akcja. Trzeba, więc używać nie poklatkowej synchronizacji oraz zapewniać podstawową kontrole przepływu pakietów UDP między klientem a serwerem. Oba te warunki gwarantują niezawodne działanie całego mechanizmu. Główne problemy i metody ich rozwiązania: Frame Rate Limiter, problem szybkości? Silnik gry opiera się na głównej ciasnej pętli, której zadaniem jest uaktualnianie danych środowiska gry, wykonywaniem cyklicznych obliczeń, wywoływaniem interfejsów komunikacyjnych oraz renderingu świata gry. Komputer stara się wykonywać program jak najszybciej może, a więc szybkość programu bezpośrednio zależy od częstotliwości taktowania zegara procesora. Wniosek jest prosty i naturalny im szybszy procesor, tym szybciej program będzie działać, a co za tym idzie tym częściej będzie wykonywana główna pętla enginu gry. Gdyby program uruchamiany był zawsze na identycznych maszynach nie było by tego rozdziału, problem by po prostu nie istniał. Twórcy gier z przełomu lat 80 i 90tych często nie zadawali sobie trudu, aby w ogóle ten problem rozwiązywać. Stąd też zjawisko super szybkiego działania niektórych starych gier na współczesnych komputerach, w wyniku powoduje to kompletną nie możliwość gry (trudność opanowania tak szybkiego rozwoju sytuacji przez człowieka). We współczesności problem regulacji szybkości gry jest szczególnie ważny w obliczu ogromnych różnic w mocach obliczeniowych obecnie dostępnych maszyn. Nikogo dziś nie dziwią różnice mierzone w gigahercach, a o procesorach wielordzeniowych nie wspominając. Nie mniej ważnym powodem dla celowości normalizacji szybkości działania gry jest fakt komunikacji różnych instancji programu na różnych maszynach przez sieć. Gdy jeden gracz będzie dysponował mocnym sprzętem, a jego partner słabszym nie może przecież zaistnieć sytuacja, gdy program uruchomiony na szybszym komputerze będzie działać znacznie 9

10 szybciej, co wtedy z danymi przekazywanymi od gracza ze słabym komputerem? Przesyłanie danych będzie znacznie opóźnione nie z winy gracza. W efekcie jeden z graczy będzie miał nierówne szanse, komunikacja obu programów będzie nie równomierna (szybszy program będzie wysyłał dane z większą rozdzielczością ). Generalizując, już na etapie tego problemu rozgrywka będzie całkowicie zdesynchronizowana, gracze będą grać w dwie różne gry. Oczywiście problem synchronizacji nie opiera się tylko na znormalizowaniu czasu wykonania programu jednak jest ważnym czynnikiem tego zagadnienia. Rozwiązanie problemu normalizacji prędkości wykonywania. Problem ten można rozwiązać wykorzystując niezawodny licznik dostępny w komputerze, a więc licznik taktów procesora do pomiaru czasu i wprowadzeniu na tej podstawie potrzebnych opóźnień do uzyskania pożądanej prędkości. Początkowo pomiar czasu i związane z tym kalkulacje wykonałem na podstawie timerów udostępnianych w podstawowej bibliotece SDL. Obsługa tej funkcji została zaimplementowana w główny engin gry. Możliwe było wtedy mierzenie czasu, który upłynął od ostatniego wywołania metody Think(), a więc od ostatnich zmian w parametrach całego środowiska. Jednak wprowadzanie na tej podstawie opóźnień wykorzystując pustą pętle while lub korzystniejszą funkcję SDL_Delay(int) nie dawało stabilnych i niezawodnych rezultatów. Przy rozważaniach i próbach z timerami implementowałem nawet osobną klasę obsługującą timery w SDLu (timer.h reprezentacja UML tej klasy na rysunku obok - > ). Timer -startticks: int -pausedticks: int -paused: bool -started: bool <<create>>-timer() +start(): void +stop(): void +pause(): void +unpause(): void +get_ticks(): int +is_started(): bool +is_paused(): bool Ostatecznie jednak ze wszystkich powyższych rozwiązań zrezygnowałem na rzecz biblioteki SDL_framerate.h, która wykorzystuje swoistą interpolację opóźnień, daje bardzo dobre i niezawodne wyniki, a jej bardzo proste użycie jest jej niezaprzeczalną zaletą. Bibliotek SDL_framerate.h udostępnia następujące funkcję: void SDL_initFramerate(FPSmanager * manager); int SDL_setFramerate(FPSmanager * manager, int rate); int SDL_getFramerate(FPSmanager * manager); void SDL_framerateDelay(FPSmanager * manager); 10

11 Jak widać funkcje te operują na wskaźniku na typ FPSmanager, który jest powoływany w części głównej inicjalizacji zmiennych enginu. Zasada działania SDL_framerate: Opóźnienie potrzebne to utrzymania prawidłowego tempa działania programu generuje funkcja SDL_framerateDelay, umieszczamy ją np. w części odpowiedzialnej za renderingu w głównej pętli programu. Jeśli komputer nie może utrzymać narzuconego tempa ustawia opóźnienie na zero i restartuje interpolację opóźnienia. Schemat obliczenia opóźnień w SDL_framerate: Rys. Schemat zaczerpnięty z dokumentacji SDL_gfx. 11

12 Synchronizacja. Synchronizacja gry sieciowej jest podstawowym zagadnieniem w pisaniu tego typu aplikacji. Przy rozwiązywaniu tego typu problemów trzeba wziąć pod uwagę wiele czynników mogących zdesynchronizować grę np. opóźnienia w przesyłaniu danych przez sieć, różne stany instancji programów działających na różnych komputerach, utrata danych podczas przesyłania itd. Synchronizacja zaimplementowana obecnie w programie opiera się na prostym mechanizmie oczekiwania na transmisję. Jest to zawodny sposób, który gwarantuje jedynie eliminację opóźnień na reakcję drugiego gracza w grze. Jest to, więc nie zupełnie metoda synchronizacji. Jednak zakładając obecnie wysoką częstotliwość informowania drugą instancję programu o zmianach można założyć, że rozgrywka jest synchroniczna. Dalsza rozbudowa synchronizacji będzie polegała na implementacji komunikatów z obsługą ich typów oraz priorytetów. Wtedy synchronizacja będzie opierała się na numerze klatki animacji, w której nastąpiła dana akcja. Jest to powszechnie stosowana praktyka przez programistów gier sieciowych. Konkretnym przykładem zastosowania tego rozwiązania jest popularna gra Starcraft. Rendering: Obecnie rendering całego świata gry realizowany jest prymitywną metodą rysowania prostych elementów w buforze ekranu przy każdym kroku pętli oraz czyszczenia tego bufora przy odświeżeniu. Jest to tymczasowy sposób mający na celu wizualizację dotychczasowych dokonań. Kompilacja projektu: Visual Studio C Express : Kompilacja odbywa się w tradycyjny sposób należy otworzyć plik projektu w VS, a następnie dodać ścieżki do bibliotek linkowanych dynamicznie SDL, SDL_net, SDL_gfx. Pamiętając, że należy ustawić ścieżki dla plików h czyli Include files oraz Library files dla plików z katalogów lib w poszczególnych bibliotekach. 12

13 Rys. Tool>Options>Project and Solutions> VC++ Directories Po dokonaniu tych ustawień należy zmienić profil, na release, a następnie wcisnąć klawisz, F7, aby skompilować program. Plik binarny znajdzie się w katalogu release. UWAGA: Visual Studio 2005 Express generuje pliki binarne, które uruchamiają się na systemach Windows posiadających odpowiednie pakiety Redistribution Packages oraz odpowiednie wersje C Runtime Library. Na systemach systemach systemach najnowszymi aktualizacjami nie będzie potrzebna żadna ingerencja jednak, na niektórych potrzebne będzie instalacja tych pakietów lub/oraz skopiowanie odpowiednich plików dll. (katalog dodatkowe_dll). Uniwersalne binarki można otrzymać kompilując projekt pełną wersją Visual Studio (oczywiście chodzi o kompilator cl) lub skorzystanie z darmowego Toolkit 2003 obsługiwanego z lini komend (cmd). Parametry z jakimi kompilowany był projekt: /O2 /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /FD /EHsc /MD /Fo"Release\\" /Fd"Release\vc80.pdb" /W2 /nologo /c /Zi /TP /errorreport:promet Kompilacja na innych systemach : Kompilacja na inne systemy niż windows jest możliwa dzięki zastosowaniu przenośnych bibliotek. Jednak nie kompilowałem projektu w innym środowisku niż windows i VS Express, więc nie będę opisywał tu procesu kompilacji na innych systemach. 13

14 Uruchomienie: W katalogu z plikiem uruchomieniowym osg.exe muszą znajdować się również pliki z dynamicznie linkowanymi bibliotekami: SDL.dll SDL_gfx.dll SDL_net.dll a, także plik konfiguracyjny o nazwie osg.conf, który musi zawierać: w pierwszej linii adres ip, na którym będzie działał serwer gry, a więc np w drugiej linii numer portu serwera np w trzeciej linii natomiast znajduje się wartość 0 jeśli chcemy, aby aplikacja działała jako klient lub 1 jeśli chcemy uruchomić aplikacje w roli serwera. Przykładowy plik konfiguracyjny: Dla serwera: Dla klienta: UWAGA: Zalecane jest uruchamiać jako pierwszy kolejności aplikacje serwera, a później aplikacje klienta. Sterowanie: Sterowanie graczem odbywa się przy pomocy kursorów. Gracz reprezentowany jest jako biały kwadrat, a partner jako czerwony kwadrat. Wyjście z programu przy pomocy ESC lub poprzez zamknięcie okna. Dodatkowe uwagi: Po zamknięciu aplikacji w katalogu z plikiem exe zostaną wygenerowane dwa plik stdout.txt i stderr.txt. Zawierają one diagnostyczne listingi konfiguracji programu oraz listing pakietów odebranych przez serwer. 14

15 Rys. Ekran gry. Uwagi końcowe: Aplikacja nie jest w pełni funkcjonalną grą, a jedynie demonstruje wstępne możliwości uniwersalnego, enginu gry sieciowej, jaki staram się stworzyć. Łatwo można sobie wyobrazić jak proste jest dodanie teraz logiki dla najróżniejszych gier. Sprowadza się to jedynie do wypełniania i rozwijania implementacji w zasadzie 3 metod z klasy my_engin, które odpowiadają za inicjalizacje zmiennych gry, obliczenia i aktualizację parametrów oraz rendering. Oczywiście jak wspomniałem rozwój logiki gry nie jest jedynym zadaniem na przyszłość, trzeba zaimplementować mechanizmy synchronizacyjne oraz zoptymalizować interfejsy sieciowe aplikacji. 15

Dokumentacja aplikacji Szachy online

Dokumentacja aplikacji Szachy online Projekt z przedmiotu Technologie Internetowe Autorzy: Jakub Białas i Jarosław Tyma grupa II, Automatyka i Robotyka sem. V, Politechnika Śląska Przedmiot projektu: Aplikacja internetowa w języku Java Dokumentacja

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska, marzec 2015 Wprowadzenie Ćwiczenie jest wykonywane

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Dokumentacja końcowa projektu z ZPR

Dokumentacja końcowa projektu z ZPR Dokumentacja końcowa projektu z ZPR Temat projektu: Prowadzący projekt: Zespół projektowy: Losowe przeszukiwanie stanów dr inż. Robert Nowak Piotr Krysik Kamil Zabielski 1. Opis projektu Projekt ma za

Bardziej szczegółowo

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 Instrukcja obsługi ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1 1 ArtPlayer to proste oprogramowanie umożliwiające odtwarzanie plików video i ich wybór poprzez protokół

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Laboratorium Sieci Komputerowych - 2

Laboratorium Sieci Komputerowych - 2 Laboratorium Sieci Komputerowych - 2 Analiza prostych protokołów sieciowych Górniak Jakub Kosiński Maciej 4 maja 2010 1 Wstęp Zadanie polegało na przechwyceniu i analizie komunikacji zachodzącej przy użyciu

Bardziej szczegółowo

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1. Zakład Elektronicznych Urządzeń Pomiarowych POZYTON sp. z o. o. 42-200 Częstochowa ul. Staszica 8 p o z y t o n tel. : (034) 361-38-32, 366-44-95, 364-88-82, 364-87-50, 364-87-82, 364-87-62 tel./fax: (034)

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Tango-RedPitaya Tango device server for RedPitaya multi-instrument board Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Streszczenie Tango-RedPitaya jest serwerem urządzeń Tango sterującym płytką

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

1. Opis. 2. Wymagania sprzętowe:

1. Opis. 2. Wymagania sprzętowe: 1. Opis Aplikacja ARSOFT-WZ2 umożliwia konfigurację, wizualizację i rejestrację danych pomiarowych urządzeń produkcji APAR wyposażonych w interfejs komunikacyjny RS232/485 oraz protokół MODBUS-RTU. Aktualny

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Java jako język programowania

Java jako język programowania Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)

Bardziej szczegółowo

Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła

Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Projekt i implementacja filtra dzeń Pocket PC

Projekt i implementacja filtra dzeń Pocket PC Projekt i implementacja filtra pakietów w dla urządze dzeń Pocket PC Jakub Grabowski opiekun pracy: prof. dr hab. Zbigniew Kotulski 2005-10-25 Zagrożenia Ataki sieciowe Problemy z bezpieczeństwem sieci

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl IPTables Hacking CONFidence 13/05/2006 Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl 1 Zamiast planu 2 ZB PCSS Praca operacyjna w ramach ogólnopolskiej szerokopasmowej sieci PIONIER oraz zasobów Centrum

Bardziej szczegółowo

Protokoły zdalnego logowania Telnet i SSH

Protokoły zdalnego logowania Telnet i SSH Protokoły zdalnego logowania Telnet i SSH Krzysztof Maćkowiak Wprowadzenie Wykorzystując Internet mamy możliwość uzyskania dostępu do komputera w odległej sieci z wykorzystaniem swojego komputera, który

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Co zrobić, jeśli program Optivum nie łączy się poprzez sieć lokalną z serwerem SQL? Programy Optivum, które korzystają z bazy danych umieszczonej na serwerze SQL, mogą być

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

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

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015 ! BSX PRINTER INSTRUKCJA UŻYTKOWNIKA Autor: Karol Wierzchołowski 30 marca 2015 SPIS TREŚCI WSTĘP... 3 INTERFEJS PROGRAMU... 5 KONFIGURACJA PROGRAMU... 6 DRUKOWANIE PARAGONÓW I FAKTUR... 8 REJESTRACJA PROGRAMU...

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko

Bardziej szczegółowo

26.X.2004 VNC. Dawid Materna

26.X.2004 VNC. Dawid Materna 26.X.2004 Zastosowanie programu VNC do zdalnej administracji komputerem Autor: Dawid Materna Wstęp W administracji systemami operacyjnymi często zachodzi potrzeba do działania na Pulpicie zarządzanego

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

Bardziej szczegółowo

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Bezpieczeństwo sieci teleinformatycznych Laboratorium 5 Temat: Polityki bezpieczeństwa FortiGate. Spis treści 2. Cel ćwiczenia...

Bardziej szczegółowo

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ www.e-awizo.pl BrainSoft sp. z o. o. ul. Bolesława Chrobrego 14/2 65-052 Zielona Góra tel.68 455 77 44 fax 68 455 77 40 e-mail: biuro@brainsoft.pl

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

TELEFONIA INTERNETOWA

TELEFONIA INTERNETOWA Politechnika Poznańska Wydział Elektroniki i Telekomunikacji Katedra Sieci Telekomunikacyjnych i Komputerowych TELEFONIA INTERNETOWA Laboratorium TEMAT ĆWICZENIA INSTALACJA I PODSTAWY SERWERA ASTERISK

Bardziej szczegółowo

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego. Sz@rk Server - konfigurowanie systemu Sz@rk Server jest serwerem aplikacji z wydzieloną logiką biznesową, pracującym w architekturze opartej o usługi (SOA). Dane pomiędzy serwerem i klientami przesyłane

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile

AKADEMIA GÓRNICZO-HUTNICZA. Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI. SyncFile AKADEMIA GÓRNICZO-HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki KATEDRA INFORMATYKI Document wizyjny dla projektu Wersja 0.1-5 z dnia 2006-11-14 Kierunek, rok studiów: Informatyka,

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP.

Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP. Ćwiczenie 2. Obsługa gniazd w C#. Budowa aplikacji typu klient-serwer z wykorzystaniem UDP. Wprowadzenie Gniazdo (ang. socket) z naszego punktu widzenia (czyli programów w.net) reprezentuje najniższy poziom

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika Menadżer Licencji Wersja 2013.0.1 Spis treści 1 WPROWADZENIE... 3 2 AKTUALIZACJA SERWISU KLUCZA HASP ORAZ ZDALNEGO SERWISU KLUCZA... 3 3 INSTALACJA... 3 4 MONITOR MENADŻERA LICENCJI...

Bardziej szczegółowo

Uniwersalny Konwerter Protokołów

Uniwersalny Konwerter Protokołów Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy

Bardziej szczegółowo

Szyfrowanie połączeń między serwerem Oracle i klientem

Szyfrowanie połączeń między serwerem Oracle i klientem Wydział Matematyki, Informatyki i Mechaniki Szyfrowanie połączeń między serwerem Oracle i klientem Warszawa, 24.11.2004 1. Wstęp Przy współczesnym powszechnym i ciągłym przepływie informacji w Internecie

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

System operacyjny Linux

System operacyjny Linux Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 15 DHCP Rola usługi DHCP Proces generowania dzierżawy Proces odnawienia dzierżawy Konfiguracja Agent przekazywania DHCP - 1 - Rola

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+ Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Zastosowania Robotów Mobilnych

Zastosowania Robotów Mobilnych Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym

Bardziej szczegółowo

11. Rozwiązywanie problemów

11. Rozwiązywanie problemów 11. Rozwiązywanie problemów Ćwiczenia zawarte w tym rozdziale pokaŝą, jak rozwiązywać niektóre z problemów, jakie mogą pojawić się podczas pracy z komputerem. Windows XP został wyposaŝony w kilka mechanizmów

Bardziej szczegółowo

Instrukcja użytkownika ARSoft-WZ1

Instrukcja użytkownika ARSoft-WZ1 05-090 Raszyn, ul Gałczyńskiego 6 tel (+48) 22 101-27-31, 22 853-48-56 automatyka@apar.pl www.apar.pl Instrukcja użytkownika ARSoft-WZ1 wersja 3.x 1. Opis Aplikacja ARSOFT-WZ1 umożliwia konfigurację i

Bardziej szczegółowo

1 Moduł Diagnostyki Sieci

1 Moduł Diagnostyki Sieci 1 Moduł Diagnostyki Sieci Moduł Diagnostyki Sieci daje użytkownikowi Systemu Vision możliwość badania dostępności w sieci Ethernet komputera lub innych urządzeń wykorzystujących do połączenia protokoły

Bardziej szczegółowo

Allegro5 część 1 - Witaj Świecie! Projekt, inicjalizacja, tworzenie okna, czcionki. Autor: Kamil Krzyszczuk - C mons

Allegro5 część 1 - Witaj Świecie! Projekt, inicjalizacja, tworzenie okna, czcionki. Autor: Kamil Krzyszczuk - C mons Allegro5 część 1 - Witaj Świecie! Projekt, inicjalizacja, tworzenie okna, czcionki. Autor: Kamil Krzyszczuk - C mons 1.Wstęp Witam w pierwszej części mojego kursu za pomocą którego dowiesz się jak stworzyć

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI Asix Konfiguracja serwera MS SQL dla potrzeb systemu Asix Pomoc techniczna Dok. Nr PLP0024 Wersja:2015-03-04 ASKOM i Asix to zastrzeżony znak firmy ASKOM Sp.

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1 Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego

Bardziej szczegółowo

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer Plan prezentacji 1. Cel projektu 2. Cechy systemu 3. Budowa systemu: Agent

Bardziej szczegółowo

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI Ćwiczenie nr: 9 Temat: Obliczenia rozproszone MPI 1. Informacje ogólne MPI (Message Passing Interface) nazwa standardu biblioteki przesyłania komunikatów dla potrzeb programowania równoległego w sieciach

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Wydział Elektroniki i Telekomunikacji POLITECHNIKA POZNAŃSKA fax: (+48 61) 665 25 72 ul. Piotrowo 3a, 60-965 Poznań tel: (+48 61) 665 22 93 LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl) Wireshark

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007) Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007) Copyright 2004 Anica System S.A., Lublin, Poland Poniższy dokument, jak również informacje w nim zawarte są całkowitą własnością

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte Instalacja Symfonia.Common.Server 0 2 Spis treści Spis treści 2 Instalacja Symfonia.Common.Server 3 Ważne zalecenia... 3 Konfiguracja

Bardziej szczegółowo

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class

Bardziej szczegółowo

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Pierwsze kroki Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura Co znaczy

Bardziej szczegółowo

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1

Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.1 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

PROTOKOŁY WARSTWY TRANSPORTOWEJ

PROTOKOŁY WARSTWY TRANSPORTOWEJ PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission

Bardziej szczegółowo

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji System informatyczny na produkcji: Umożliwi stopniowe, ale jednocześnie ekonomiczne i bezpieczne wdrażanie i rozwój aplikacji przemysłowych w miarę zmiany potrzeb firmy. Może adoptować się do istniejącej

Bardziej szczegółowo

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu. AGH, EAIE, Informatyka Winda - tutorial Systemy czasu rzeczywistego Mirosław Jedynak, Adam Łączyński Spis treści 1 Wstęp... 2 2 Przypadki użycia (Use Case)... 2 3 Diagramy modelu (Object Model Diagram)...

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie aplikacji rozproszonej w Sun RPC Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki

Bardziej szczegółowo

Wykaz zmian w programie SysLoger

Wykaz zmian w programie SysLoger Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko

Bardziej szczegółowo

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2

Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Laboratorium Technologie Sieciowe Podstawowe protokoły transportowe stosowane w sieciach IP cz.2 Wprowadzenie Ćwiczenie przedstawia praktyczną stronę następujących zagadnień: połączeniowy i bezpołączeniowy

Bardziej szczegółowo

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika Menadżer Licencji Wersja 2013.2.1 Spis treści 1 WPROWADZENIE... 3 2 AKTUALIZACJA SERWISU KLUCZA HASP ORAZ ZDALNEGO SERWISU KLUCZA... 3 3 INSTALACJA... 3 4 MONITOR MENADŻERA LICENCJI...

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Electronic Infosystems

Electronic Infosystems Department of Optoelectronics and Electronic Systems Faculty of Electronics, Telecommunications and Informatics Gdansk University of Technology Electronic Infosystems Microserver TCP/IP with CS8900A Ethernet

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo