Projektowanie i implementacja programów obsługujących gniazdka Wykład II Zbigniew Brożbar Paweł Baranowski.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Funkcje w PHP ABK.
Język C/C++ Funkcje.
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
Mechanizmy pracy równoległej
Programowanie wizualne
Programowanie Wizualne WYKŁAD 1
Wzorce.
Prowadzący: mgr inż. Elżbieta Majka
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
IC Sklep nowy program dla Twojego sklepu dla Twojego warsztatu.
PROGRAMOWANIE STRUKTURALNE
Funkcje wyszukiwania i odwołań
Jan Aleksander Wierzbicki
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Projektowanie programu obsługującego gniazdka
Internet Communication Engine
Tworzenie ASP.NET Web Form
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Jarosław Kurek WZIM SGGW
Usługi sieciowe Wykład 5 DHCP- debian Jarosław Kurek WZIM SGGW 1.
Obsługa serwera zdalnego przez klienta FTP
Gniazda komunikacji sieciowej w języku Java
PING: Program używany do diagnozowania połączeń sieciowych.
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
Wprowadzenie do programowania w języku Turbo Pascal
Metody Symulacyjne w Telekomunikacji (MEST) Wykład 4: Generowanie zdarzeń  Dr inż. Halina Tarasiuk p. 337, tnt.tele.pw.edu.pl.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Podstawy programowania
Obiekty dynamiczne Tworzenie klas 3 MPDI Programowanie obiektowe W4.
Programowanie strukturalne i obiektowe
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Podstawy programowania. Język C i C++– podstawy Temat: 1
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Algorytmy i Struktury Danych Typy algorytmów
TABLICE C++.
Programowanie w środowisku DELPHI
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Prezentacja i szkolenie
Sieci komputerowe.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Wykład IV Protokoły BOOTP oraz DHCP.
Projekt i implementacja uogólnionego mechanizmu Java RMI
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Linux w sieci Konfigurowanie interfejsu sieciowego.
Operacje edycyjne w bazie danych - kwerendy funkcjonalne Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Integracja iStore z programem Subiekt GT
SYSTEMY OPERACYJNE Adresowanie IP cz3.
„Wszystko powinno być wykonane tak prosto jak to możliwe, ale nie prościej.” Albert Einstein.
Visual Basic for Applications Poziom podstawowy Zajęcia 2
Aplikacje TCP i UDP. Łukasz Zieliński
Projektowanie stron WWW
Podstawy programowania
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Konfiguracja VPN Klienta – Windows 7
Zmienne i typy danych w C#
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Andrzej Majkowski 1 informatyka +. 2 Bezpieczeństwo protokołu HTTP Paweł Perekietka.
© DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje:
Czym jest PHP? ● Językiem programowania przeznaczonym do tworzenia i generowania dynamicznych stron WWW. Działa po stronie serwera: Klient Żądanie strony.
Programowanie Obiektowe – Wykład 6
SQL Server Analysis Services Action!
Programowanie obiektowe – zastosowanie języka Java SE
Haskell Składnia funkcji.
PGO Porównywanie obiektów
Zapis prezentacji:

Projektowanie i implementacja programów obsługujących gniazdka Wykład II Zbigniew Brożbar Paweł Baranowski

Instalacja komponentów Słowem wstępu pragnie przypomnieć że wersje Delphi 7 zainstalowana na naszych komputerach w uczelnie nie posiada wszystkich potrzebnych komponentów. Aby korzystać komponenty z TServerSocket i TClientSocket należy zainstalować odpowiednia paczkę.

Instalacja komponentów c.d.

Klient Edycja kodu źródłowego

Klient Edycja kodu źródłowego c.d.

Zdefiniowanie własnego typu o nazwie TRecord należącego do packed trecord. W typie zdefiniowaliśmy dwie zmienne typu integer o nazwach bok1 i bok2.

Klient Edycja kodu źródłowego c.d.

POŁĄCZ – Button1Click Linia 3. Warunek sprawdzający caption button równa się Połącz. Linia 5-8. Zdefiniowanie portu hostu i aktywacja komponentu oraz zmiana nazwy caption na Rozłącz. Linia Dezaktywacja komponentu i zmiana napisu na Połącz. WYŚLIJ – Button2Click Linia 3. Zdefiniowanie zmiennej Rec należącej do typu TRecord Linia 5. Sprawdzenie czy Editbox nie są puste. Linia 7-8. Dopisanie do zmiennej Rec do bok1 oraz bok2 zawartości EditBoxów. Linia 9. Wysłanie bufora typu TRecord do Serwera

Klient Edycja kodu źródłowego c.d. Zdarzenie klientRead które wychwytuje pakiety wysyłane do klienta od serwera. Prosta funkcja wyświetlająca pakiet po konwersji na ciąg znaków na formie programu. Socket.ReceiveText wychwytuje i konwertuje otrzymany pakiet od serwera. Do przeprowadzenia kompilacji naciśnij F9

Serwer Edycja kodu źródłowego W czasie uruchomienia programu i wywołania kreatora form domyślnie dezaktywujemy komponent.

Serwer Edycja kodu źródłowego c.d.

Podglądamy kod zdarzenia ClientRead które nasłuchuje czy klient nie wysłała czegoś do serwera. Linia 4. Zdefiniowanie zmiennej o nazwie wynik typu integer. Linia 6. Wychwytywanie zawartości gniazdka i kopiowanie go zmiennej Rec. SizeOf sprawdza strukturę typu Rec, wielkość. Linia 7. Wykonanie prostego działania matematycznego. Linia 8. serwer.Socket.Connections – odwołanie się do połączenia zmienna tablicowa dlatego należy wybrać aktywne połączenie. Serwer.Socket.ActiveConnections zwraca aktywne połączenie o indeksie 1. Socket.Connections jest zmienną tablicową jej indeks zaczyna się od zera dlatego musimy odjąć 1. SendText() wysyła tekst prze gniazdko do klienta, IntoToSTR konwertuje liczbę typu int na ciąg znaków String.

Przykładowe zmiany kodu Zmień kod źródłowy programu tak, aby Serwer zwrócił: 1.wynik sumowania kolejnych liczb, po otrzymaniu 10 liczb od Klienta. Kolejne liczby Klient wysyła w osobnych pakietach. 2.obwód koła o parametrach podanych przez Klienta. 3.liczbę 0 po każdym wysłaniu do niego przez Klienta liczby większej niż 10. Jeśli liczba będzie mniejsza, Serwer ma odpowiedzieć liczbą 1. Wynik odpowiedzi Serwera oraz liczba wysłana ma być zapisywana w osobnych komponentach Memo. Doprecyzuj zadanie! 4.komunikat informujący o tym, czy dana liczba jest parzysta. 5.komunikat o tym, jak długi tekst wysłał Klient do Serwera. 6.odległość między dwoma punktami o współrzędnych X i Y liczb całkowitych zaczynających się od liczby podanej przez Klienta. Liczby powinny być oddzielone przecinkami. Uwagi: 1. Działamy zasadniczo na liczbach typu całkowitego (oprócz zadania z kołem). 2. Każdy przyjmuje własne domyślne wartości dla funkcji STRtoINTDEF. 3. Każde z zadań realizujemy jako oddzielne pary aplikacji Klient i Serwer. /modyfikacje zadania a.i./

Czas na Pytania :) Jeśli są jakieś pytania, postaramy się na nie (nie)odpowiedzieć. Dziękujemy za uwagę.