Projektowanie programu obsługującego gniazdka Autor:Roman Jędras
Konspekt prezentacji Potrzebne komponenty Instalacja komponentów TSS, TCS Przydatne funkcje i komponenty standardowe Omówienie metod komponentów TSS, TCS Omówienie zdarzeń komponentów TSS, TCS Schemat budowy programu Omówienie obsługi 2 przykładowych programów
Potrzebne komponenty TServerSocket – komponent do obsługi gniazdek na serwerze. TClientSocket – komponent do obsługi gniazdek na kliencie.
Instalacja komponentów Dwa komponenty TServerSocket oraz TClientSocket nie jest komponentem standardowym dostepnym na komputerach w naszej pracowni. Dane komponenty należy zainstalować ręcznie, aby zainstalować komponenty należy zrobić następujące czynności. Odpalamy środowisko Delphi 7 Wchodzimy w zakładkę Component, Install Packages, Add
INSTALACJA KOMPONENTÓW TSC Odnajdujemy na dysku twardym plik dclsockets70.bpl, Otwórz, Ok.
INSTALACJA KOMPONENTÓW TSC Zainstalowane komponenty odnajdziemy w zakładce Internet
Przydatne funkcje i komponenty standardowe STRtoINT – konwertowanie z typu string do int STRtoINTDEF – jeśli konwersja się nie uda można zdefiniować wartość domyślną Obiekty i ich metody: Label – wyświetlenie tekstu, Label.Caption odniesienie się do tego tekstu Edit – obiekty pozwalający wpisać dane do programu, Edit.Text odniesienie się do wpisanego tekstu Panel – pomocny obiekt który pozwala sortować i łączyć inne obiekty w programie Memo – obiekt pozwalający wyświetlić dłuższy fragment tekstu, główne metody memo.lines.add(), memo.clear, memo.lines.valuefromindex ColorDialog – obiekt pozwalający modyfikować kolor innych obiektów główne metody to: ColorDialog.Color, ColorDialog.Execute np. label1.Color:=ColorDialog1.Color;
KOMPONENTY STANDARDOWE I DIALOGS ColorDialog -- znajdziemy na zakładce Dialogs
Metody TServerSocket Active : boolean – włączenie i wyłączenie komponentu Port : int – numer portu Open, Close – włączenie i wyłączenie gniazdka Socket.ReceiveText – odebranie tekstu przesłanego przez klienta Socket.ReceiveBuf – odebranie rekordu przesłanego prze klienta Socket.Connections – odniesienie się do aktywnego połączenia serwer.Socket.ActiveConnections – wybranie aktywnego połączenia SendText – wysyłanie tekstu SendBuf - wysłanie rekordu Aby przesłać tekst z serwera do klienta trzeba użyć kilku metod przykładowy fragment kodu programu: server.Socket.Connections[server.Socket.ActiveConnections -1].SendText(‘Malwina’); server.Socket.Connections[server.Socket.ActiveConnections-1].SendBuf(kolor,sizeof(kolor));
Metody TClientSocket Active : boolean – włączeniw wyłączenie komponentu Port : int – numer portu Host : string – host, adres serwera Open, Close – włączenie wyłączenie gniazdka Socket.ReceiveText – odebranie tekstu przesłanego przez serwer Socket.ReceiveBuf – odebranie rekordu etc… Socket.SendBuf – wysłanie rekordu do serwera Socket.SendText – wysyłanie tekstu Aby przesłać tekst z klienta do servera wystarczy użyć przykładowo: klient.Socket.SendText(‘Malwina’); klient.Socket.SendBuf(kolor,sizeof(kolor));
Ważne Należy pamiętać zanim aktywuje się komponent należy podać port w serwerze, w kliencie port oraz host. Np. Serwer: Serwer.Port := STRtoINTDEF(Edit1.text,3500); serwer.Active := TRUE; Klient: klient.Port := STRtoINTDEF(Edit2.Text,3500); klient.Host := Edit1.Text; klient.Active := TRUE;
etc..Ważne
Zdarzenia TServerSocket OnAccept – wywoływane w chwili akceptacji połączenia OnClientConnect – wywoływane w chwili połączenia klienta OnClientDisconnect – wywoływane w czasie rozłączenia klienta OnClientRead – wywoływane ciągle, nasłuch serwera Inne zdarzenia które nie będziemy wykorzystywać na tych wykładach: OnClientError – błędy w czasie komunikacji OnClientWrite – serwer może automatycznie cyklicznie, wysyłać dane do klienta
Zdarzenia TClientSocket OnConnect – wywoływane w chwili połączenia z serwerem OnConnecting – wywołane w chwili łączenia z serwerem OnDisconnect – wywoływane w czasie rozłączenia z serwerem OnRead – wywoływane ciągle, nasłuch klienta Inne zdarzenia które nie będziemy wykorzystywać na tych wykładach: OnError – błędy w czasie komunikacji OnWrite – klient może automatycznie, cyklicznie wysyłać dane do serwera
Schemat Budowy Serwera Zdefiniowanie portu Zdefiniowanie zdarzenia nasłuchu oraz metody wysyłającej do klienta Aktywacja komponentu obsługującego gniazdka
Schemat Budowy Klienta Zdefiniowanie portu oraz hostu Zdefiniowanie metody odpowiadającej za próbę połączenia, zawierającą aktywacje komponentu Zdefiniowanie metody nasłuchu oraz odpowiedzi
Gra – Kółko - krzyżyk
WYBÓR KOLORU
Czas na Pytania :) Dziękuje za uwagę. Jeśli są jakieś pytania, postaram się na nie odpowiedzieć. Dziękuje za uwagę.