1 Projektowanie programu obsługującego gniazdkaAutor:Roman Jędras
2 Konspekt prezentacji Potrzebne komponentyInstalacja 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
3 Potrzebne komponenty TServerSocket – komponent do obsługi gniazdek na serwerze. TClientSocket – komponent do obsługi gniazdek na kliencie.
4 Instalacja komponentówDwa 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
5 INSTALACJA KOMPONENTÓW TSCOdnajdujemy na dysku twardym plik dclsockets70.bpl, Otwórz, Ok.
6 INSTALACJA KOMPONENTÓW TSCZainstalowane komponenty odnajdziemy w zakładce Internet
7 Przydatne funkcje i komponenty standardoweSTRtoINT – 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;
8 KOMPONENTY STANDARDOWE I DIALOGSColorDialog -- znajdziemy na zakładce Dialogs
9 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));
10 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));
11 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;
12 etc..Ważne
13 Zdarzenia TServerSocketOnAccept – 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
14 Zdarzenia TClientSocketOnConnect – 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
15 Schemat Budowy SerweraZdefiniowanie portu Zdefiniowanie zdarzenia nasłuchu oraz metody wysyłającej do klienta Aktywacja komponentu obsługującego gniazdka
16 Schemat Budowy KlientaZdefiniowanie portu oraz hostu Zdefiniowanie metody odpowiadającej za próbę połączenia, zawierającą aktywacje komponentu Zdefiniowanie metody nasłuchu oraz odpowiedzi
17 Gra – Kółko - krzyżyk
18 WYBÓR KOLORU
19 Czas na Pytania :) Dziękuje za uwagę.Jeśli są jakieś pytania, postaram się na nie odpowiedzieć. Dziękuje za uwagę.