Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Projektowanie i implementacja programów obsługujących gniazdka Wykład II Zbigniew Brożbar Paweł Baranowski."— Zapis prezentacji:

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

2 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ę.

3 Instalacja komponentów c.d.

4 Klient Edycja kodu źródłowego

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

6 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.

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

8 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

9 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

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

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

12

13 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.

14 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./

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


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

Podobne prezentacje


Reklamy Google