Politechnika Warszawska Wydział Elektryczny. Kamil Deryński Nr albumu: Projekt koncepcyjny gry sieciowej.
|
|
- Amalia Tomczyk
- 8 lat temu
- Przeglądów:
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
Klient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoSieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Bardziej szczegółowoDokumentacja 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ółowoSystem 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ółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoImplementacja aplikacji sieciowych z wykorzystaniem środowiska Qt
Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie 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ółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowoSIP 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ółowoProgramowanie 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ółowoJę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ółowoREFERAT 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ółowoArtPlayer 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ółowoTworzenie 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ółowoCechy 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ółowoTango-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ółowoWą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ółowoArchitektury 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ółowoPhysX Visual Debugger. Tomasz Gańko
PhysX Visual Debugger Tomasz Gańko Co to jest Nvidia PhysX? NVIDIA PhysX to wydajny silnik fizyczny, zoptymalizowany m.in. do działania na równoległych procesorach kart graficznych. Jego głównym przeznaczeniem
Bardziej szczegółowoTemat: 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ółowoMateriały dodatkowe. Simulink Real-Time
Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink Real-Time Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Wstęp Simulink Real-Time jest środowiskiem pozwalającym na tworzenie
Bardziej szczegółowoSPOSOBY 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ółowoPodstawy programowania. Wprowadzenie
Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne
Bardziej szczegółowoWykł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ółowoDokumentacja 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ółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoPodstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat
02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoKomunikacja 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ółowoJava 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ółowoLaboratorium 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ółowoTytuł: 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ółowo1. 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ółowoMODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
Bardziej szczegółowoProtokoły sieciowe - TCP/IP
Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy
Bardziej szczegółowoe-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ółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.
Kod szkolenia: Tytuł szkolenia: PS/WIN Programowanie systemowe w Windows Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemach z rodziny Microsoft Windows,
Bardziej szczegółowoArtPlayer. Odtwarzacz plików video sterowany poprzez Artnet/DMX V Instrukcja obsługi.
ArtPlayer Instrukcja obsługi Odtwarzacz plików video sterowany poprzez Artnet/DMX V1.1.0.2 1 ArtPlayer Modus to proste oprogramowanie umożliwiające odtwarzanie plików video i ich kontrolę poprzez protokół
Bardziej szczegółowoPraca w środowisku Visual Studio 2008, Visual C
Praca w środowisku Visual Studio 2008, Visual C++ 2008 mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Tworzenie aplikacji konsolowych 2 3 Tworzenie nowego projektu aplikacji
Bardziej szczegółowoDHL CAS ORACLE Wymagania oraz instalacja
DHL CAS ORACLE Wymagania oraz instalacja Opis: Niniejszy dokument opisuje wymagania niezbędne do instalacji bazy danych DHL CAS ORACLE. Przedstawia również sam proces instalacji. Przeznaczony jest dla
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 7 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Praca z repozytorium kodu Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie proceduralne w języku C++ Podstawy
Programowanie proceduralne w języku C++ Podstawy Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoWprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Bardziej szczegółowoInstytut Teleinformatyki
Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Dziedzina Unix laboratorium: 06 Kraków, 2014 06. Programowanie Usług Sieciowych
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoInstalacja 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ółowoZadanie z lokalnych sieci komputerowych. 1. Cel zajęć
Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć Kilku znajomych chce zagrać w grę sieciową. Obecnie większość gier oferuje możliwość gry przez internet. Jednak znajomi chcą zagrać ze sobą bez dostępu
Bardziej szczegółowoBSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 10 sierpnia 2017
BSX PRINTER INSTRUKCJA UŻYTKOWNIKA! Autor: Karol Wierzchołowski 10 sierpnia 2017 SPIS TREŚCI WSTĘP... 3 INTERFEJS PROGRAMU... 5 KONFIGURACJA PROGRAMU... 6 DRUKOWANIE PARAGONÓW I FAKTUR... 8 REJESTRACJA
Bardziej szczegółowoWykaz zmian w programie WinAdmin Replikator
Wykaz zmian w programie WinAdmin Replikator Pierwsza wersja programu 1.0.0.1 powstała w czerwcu 2010. kod źródłowy programu zawiera ponad 6 900 wierszy. Modyfikacje/zmiany w wersji 1.0.4.0 (październik
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoSpis 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ółowoBSX 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ółowoQ 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ółowoDokumentacja projektu QUAIKE Architektura oprogramowania
Licencjacka Pracownia Oprogramowania Instytut Informatyki Uniwersytetu Wrocławskiego Jakub Kowalski, Andrzej Pilarczyk, Marek Kembrowski, Bartłomiej Gałkowski Dokumentacja projektu QUAIKE Architektura
Bardziej szczegółowoKonspekt pracy inżynierskiej
Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoProgramowanie 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ółowoProjekt 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ółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoActiveXperts 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ółowoDokumentacja 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ółowoProtokoł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ółowoAplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project
Aplikacja Sieciowa Jedną z fundamentalnych właściwości wielu aplikacji jest możliwość operowania pomiędzy jednostkami (np. PC), które włączone są do sieci. W Windows operacja ta jest możliwa przy wykorzystaniu
Bardziej szczegółowoRPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Bardziej szczegółowoDokumentacja techniczna
I N F O R M A T Y K A S T O S O W A N A E A I I E A G H Dokumentacja techniczna Mobilny asystent administratora Łukasz Świder Radosław Gabiga Łukasz Podolski Paweł Knap Marec Cabaj Maciej Stygar Aleksander
Bardziej szczegółowoWprowadzenie 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ółowoProgramowanie 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ółowoZacznij 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ółowoSzablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bardziej szczegółowoSieci komputerowe. Wykład 7: Transport: protokół TCP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 7: Transport: protokół TCP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 7 1 / 23 W poprzednim odcinku Niezawodny transport Algorytmy
Bardziej szczegółowoINFORMATYKA 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Ć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ółowoTELEFONIA 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ółowo26.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ółowoPolitechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 7 Wykorzystanie protokołu TCP do komunikacji w komputerowym systemie pomiarowym 1.
Bardziej szczegółowoProblemy 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ółowoKró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ółowoCONFidence 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ółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoInstrukcja użytkownika ARsoft-CFG WZ1 4.0
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-CFG WZ1 4.0 wersja 4.0 www.apar.pl 1 1. Opis Aplikacja ARsoft-CFG umożliwia
Bardziej szczegółowoWykaz 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ółowoEXSO-CORE - specyfikacja
EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.
Bardziej szczegółowoArchitektura 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ółowoWINDOWS 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ółowoSEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej
SEGMENT TCP CZ. I Numer portu źródłowego (ang. Source port), przeznaczenia (ang. Destination port) identyfikują aplikacje wysyłającą odbierającą dane, te dwie wielkości wraz adresami IP źródła i przeznaczenia
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoUniwersytet 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ółowoKod produktu: MP-W7100A-RS232
KONWERTER RS232 - TCP/IP ETHERNET NA BAZIE W7100A FIRMY WIZNET MP-W7100A-RS232 jest gotowym do zastosowania konwerterem standardu RS232 na TCP/IP Ethernet (serwer portu szeregowego). Umożliwia bezpośrednie
Bardziej szczegółowoProgramowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy
Bardziej szczegółowoTworzenie 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ółowoSieci komputerowe Warstwa transportowa
Sieci komputerowe Warstwa transportowa 2012-05-24 Sieci komputerowe Warstwa transportowa dr inż. Maciej Piechowiak 1 Wprowadzenie umożliwia jednoczesną komunikację poprzez sieć wielu aplikacjom uruchomionym
Bardziej szczegółowoLabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie środowiska LabVIEW 2016
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis
MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład
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. Wprowadzenie Gniazdo (ang. socket) z naszego punktu widzenia (czyli programów w.net) reprezentuje najniższy poziom
Bardziej szczegółowoAplikacja Sieciowa wątki po stronie klienta
Aplikacja Sieciowa wątki po stronie klienta Na ostatnich zajęciach zajmowaliśmy się komunikacją pomiędzy klientem a serwerem. Wynikiem naszej pracy był program klienta, który za pomocą serwera mógł się
Bardziej szczegółowoInstalacja 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ółowoLaboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark
Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark Topologia Cele Część 1: Zapisanie informacji dotyczących konfiguracji IP komputerów Część 2: Użycie programu Wireshark do przechwycenia
Bardziej szczegółowo