Anasayfa İletişim RSS
Abdullah Tekin Derslerini Okumak için Tiklayin Nasıl Bulaşır Şu Virüsler ?
Virüsler nasıl bulaşırlar?
 
Şimdi Üye Ol | Şifremi Unuttum
 
Anasayfa » Delphi (36 ders)
 
Delphi 7'de server ve client olayı

Yazar: Ziya Kahraman  
Eklenme: 22.09.2007   Okunma: 652    Puan: 3.4   Seviyesi:  Orta
Delphi 7'de ağ üzerinde çalışan programlar mı yapmak istiyorsunuz? O zaman bu server ve client olayını iyi anlamalı ve uygulamalısınız önce..

Şimdi örnek olarak basit chat programıyla konuya açıklık getirelim. Program iki parçadan oluşuyor. Bir parçası ana kısım olan server, diğeri de şube yani diğer bir deyişle client..

SERVER TARAFI


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Sockets, StdCtrls;



type

  TForm1 = class(TForm)

    TcpServer1: TTcpServer;

    Label1: TLabel;

    Edit1: TEdit;

    Memo1: TMemo;

    Label2: TLabel;

    procedure TcpServer1Accept(Sender: TObject;

      ClientSocket: TCustomIpClient);

    procedure FormCreate(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.TcpServer1Accept(Sender: TObject;

  ClientSocket: TCustomIpClient);

  VAR

  X:String;

  begin

Edit1.Text:=ClientSocket.RemoteHost;

X:=ClientSocket.Receiveln();// PORTU OKUR

Memo1.Lines.Add(X);// MEMOYA AKTARIR

end;



procedure TForm1.FormCreate(Sender: TObject);

begin

TcpServer1.LocalPort:="20000";//string tip

TcpServer1.Active:=True; // 20000 numaralı portu dinlemeye alır



end;



procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

TcpServer1.Close;

end;



end.



CLIENT TARAFI


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, XPMan, StdCtrls, Buttons, Sockets, ComCtrls;



type

  TForm1 = class(TForm)

    XPManifest1: TXPManifest;

    StatusBar1: TStatusBar;

    Edit1: TEdit;

    BitBtn1: TBitBtn;

    TcpClient1: TTcpClient;

    Memo1: TMemo;

    procedure BitBtn1Click(Sender: TObject);

    procedure TcpClient1Connect(Sender: TObject);

    procedure TcpClient1Disconnect(Sender: TObject);

    procedure TcpClient1Error(Sender: TObject; SocketError: Integer);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



 



procedure TForm1.BitBtn1Click(Sender: TObject);

VAR

A:String;

begin

A:=Memo1.Lines.Text;

TcpClient1.RemoteHost:=Edit1.Text;

TcpClient1.RemotePorT:="20000";

TcpClient1.Active:=False;

TcpClient1.Active:=True;

TcpClient1.Sendln("SELAM");

end;



procedure TForm1.TcpClient1Connect(Sender: TObject);

begin



end;



procedure TForm1.TcpClient1Disconnect(Sender: TObject);

begin



end;



procedure TForm1.TcpClient1Error(Sender: TObject; SocketError: Integer);

begin



end;



procedure TForm1.FormCreate(Sender: TObject);

begin



end;



end.



İşte bu kadar kodları inceleyip yorumlarsanız olayı kapacağınıza eminim.. Başka türlü anlatılabilirdi belki ama uygulamalı daha iyi anlaşılacağını düşündüğüm için bu yolu tercih ettim.. Herkese başarılar..
 
  • Currently 3.43/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
Delphi 7'de server ve client olayı Dersini Yazdırın

"Delphi 7'de server ve client olayı" dersi için 13 yorum var

23.09.2007 myp diyor ki:
Bu programı .rar 'layıp atmanız mümkün mü ?
Çözemedimde ben olayı..

03.10.2007 nokia1972 diyor ki:
PAYLAŞIM İÇİN TEŞEKKÜRLER

13.10.2007 PAUL38 diyor ki:
Keşke neler kullanıldığınıda yazsaymışınız örneği yapmamız daha kolay olurdu ama genede çok teşekkürler

14.10.2007 cumhur diyor ki:
kodları vermeniz güzel ama neyi nasıl yaptığını biraz değinseniz güzel olurdu. yeni başlayanlar için/ki ben/ açıklamalı olurdu...

19.10.2007 ziyade diyor ki:
Arkadaşlar kodlardan neler kullanıldığını çıkarmayı göstersek daha yerinde olacak galiba.. Kodlarda procedure deyiminden sonra bir nokta olur ve noktanın ardından kullanılan bileşenin adı ve numarası yazar. Eğer bileşene özel isim verilmemişse -ki örneklerimizde verilmemiştir- orijinal adından çıkarılır bileşenin ne olduğu ve numarası da kaç tane olduğunu gösterir bize.. Zira Delphi Form üzerine attığımız bileşenlere otomatik olarak 1'den başlamak üzere ismin ardından numara verir..

15.02.2008 MaDWaGaBoND diyor ki:
ben daqha yeniyimde ya bunlara kaç tane buton kaç tane ne eklicez onlarıda gösterseniz çok iyi olurdu ya onlarıda gösterir misiniz lütfen

18.02.2008 barissagir diyor ki:
Dostum,
bi sorumolcak

neden hep remotePort no ya 20000 yazdıyoruz.
mesela ben modeme wireless ile bağlanıyorum,
benim port nom ne olcak?

25.02.2008 hack425 diyor ki:
peki ağda değilde internet uzerinden bu sekilde bir program nasil olacak kardes ??

20.03.2008 polemarkhos diyor ki:
biraz daha detaya gir seniz güzzel olacak ne ler kullanacamı bilmiyorum ben yeni başladım.ama gende sol emeğe saygı aline sağlık

28.04.2008 nevofam diyor ki:
evet daha detaylı olsa memnun kalacam. kolay gelsin.

24.06.2008 oglebeli78 diyor ki:
hocam bu işi internet üzerinden nasıl yapabilicez
ben bir program yazıyorum kısaca özet geçersek ana makınede değişiklik yapıldığında diğer uzak mesafe pclerinde yapılan değişikliğin aynen görünmesini istiyorum.Değişikliği sadece ana makınedeki kullanıcı yapabılmeli.Kullanıcılar bu programa mudahale edememli.ana makınede yazılacak, onlarda sadece görüntülenecek bu tarzda olacak programı nasıl yapabilirim.Programın internet baglantısını onlara gönderıcegim mesajları nasıl yapabilirim.Saygılar..

03.07.2008 ziyade diyor ki:
Dediğin şekilde bir programda server kısmı ana makine olur, client de kullanıcı olur. Kullanıcının programındaki girişleri (edit, radiobutton vs.) yazıma kapatırsın böylece onlar gönderim yapamaz, yalnızca ana makina tarafından gönderilenleri görebilirler. İnternet üzerinden yapabileceğin bir programdır bu ve bu olaydan hiç bir farklı mantık taşımaz. ip numaralarını kullanman gerekir ki bu programın da zaten mantığı budur. Kolay gelsin..

Üye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 282 Ziyaretçi, 24 Üye (1 Gizli)
mkontrol, BySml, seymenkg, gonejko, alpiserkan, Qwman, ibrahim_koclar, melancholyq, drzynp, Lazkopatt, aozde, envervolkan, asmadalı, berrock, endless, blntky, kaulitz, bilal3437, mygocebe, cesur0053, duwar, Atılgan, ErtughruL
BUGÜN DOĞUM GÜNÜ OLAN ÜYELERİMİZ:
adige (22), sphered (20), damla damla (18), ziplayanfasulye (102), GüGüS (21), cannurbey (17), lesconcular (17),
Bugün: 2146, Dün: 6925, Bu Ay: 103874, Toplam Ziyaret: 1131740, Toplam Üye: 94247, Son Üye: Qwman
Toplam Ders: 1683, Toplam Yazar: 40, Toplam Dosya: 43, Toplam Link: 109
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz