Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:

1 Programowanie warstwy sieciowej za pomocą obiektów IND...
Author: Franciszka Łebkowski
0 downloads 2 Views

1 Programowanie warstwy sieciowej za pomocą obiektów INDY (komponenty otwarte)Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot: Programowanie warstwy sieciowej

2 KOMPONENTY OTWARTE - INDYKomponenty te obsługują programowanie gniazdkowe niskiego poziomu oraz większość powszechnie znanych protokołów internetowych. Borland, w celu zastąpienia „przestarzałych komponentów : TCS ,TSS, zaproponował stosowanie odpowiednich komponentów INDY. Dostarcza kolekcję internetowych otwartych obiektów, które poprzednio nazywane były WinShoes (termin pochodzi od WinSock – nazwy biblioteki gniazdowej Windows).

3 KOMPONENTY OTWARTE - INDYNajnowsze wersje otwartych komponentów Indy znaleźć można pod adresem internetowym: Są to darmowe komponenty uzupełnione wieloma przykładami oraz plikami pomocy.

4 KOMPONENTY OTWARTE - INDYKomponenty Indy rozpoznawane są po przedrostku „Id”. Pakiety INDY zawiera ponad 100 obiektów zawierających aplikacje klient – serwer TCP/IP dla rozmaitych komponentów, zawiera składniki związane z ‘Zapewnieniem bezpieczeństwa’ oraz kodowaniem ich w sposób asynchroniczny, co nie powoduje blokowania realizacji innych fragmentów kodu aplikacji sieciowej.

5 KOMPONENTY OTWARTE - INDYKomponenty te obsługują takie protokoły jak: TCP/IP UDP – bez połeczęniowe Protokoły kontroli poprawności połączeń: ICMP(Internet Control Message Protocol) Protokoły zarządzania siecią ( ): SNMP (Simple Network Managament Protocol) Protokoły zdalnego włączania się do sieci: TELNET (Network Terminal Protocol) Protokoły przesyłania plików FTP (File Trnasfer Protocol)

6 KOMPONENTY OTWARTE - INDYKomponenty INDY znajdują się na zakładce : Operacje gniazdowe wykonywane z poziomu Indy, powinny być wykonywane za pomocą wątku albo komponentu IdAntiFreeze stanowiącego prostszą alternatywę . Serwery Indy wykorzystują architekturę wielowątkową, którą sterować można za pomocą komponentu IdThreadMgrDefault. Komponent ten jest domyślnym obiektem, drugi obiekt idThreadMgrPool obsługuje odpytywanie wątków.

7 KOMPONENTY OTWARTE - INDYKomponenty INDY w praktyce Delphi umożliwia zestawić prostą komunikację dwóch Programów przez gniazdo w obszarze sieci poprzez zastosowanie komponentów IdTCPClient oraz IdTCPServer. Pierwszym krokiem zmierzającym do uzyskania w/w komunikacji jest ustalenie wspólnego portu zarówno dla aplikacji klient jak i serwer

8 KOMPONENTY OTWARTE – INDY KLIENT

9 KOMPONENTY OTWARTE - INDYDo metod obiektu klienta należą: Port ( wartość int 3500) Host (adres serwera np.: localhost ) Connect (aktywacja połończenia z serwerem) Conected (wartosc boolean nawiązania połonczenia stosowana w warunku if) Write (wysłanie ciągów tekstu do serwera) WriteLn( wysłanie lini tekstu zakończonego \n ) Read (odczyt ciagu tekstu z serwera) ReadLn (odczyt lini tekstu z serwera zakończonego \n) Disconnect (rozłonczenie z serwerem)

10 KOMPONENTY OTWARTE - INDY

11 KOMPONENTY OTWARTE – INDY SERWER

12 KOMPONENTY OTWARTE – INDYMetody Serwera DefaultPort ( podanie domyślnego portu pracy serwera) Active (uruchomienie i ustawienie serwera w nasłuch na klientów) AThread wątek dzięki któremu mamy dostęp do metody Connection (połąnczenie) AThread.Connection.ReadLn (odczytanie przez serwera informacji przesłaniej od klienta) AThread.Connection.Writeln (zapis przez serwer informacji przesłanej do klienta)

13 KOMPONENTY OTWARTE – INDYZdarzenia serwera Connect(AThread: TIdPeerThread); (klient podłonczony do serwera) Server1Execute(AThread: TIdPeerThread); (serwer w trakcie wykonywania)

14 KOMPONENTY OTWARTE – INDY

15 KOMPONENTY OTWARTE – INDY

16 KOMPONENTY OTWARTE – INDYProgram Komunikacja klient - serwer

17 Czas na Pytania :) Dziękuje za uwagę.Jeśli są jakieś pytania, postaram się na nie odpowiedzieć. Dziękuje za uwagę.