ağda çalışacak program

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
longhorn

ağda çalışacak program

Mesaj gönderen longhorn »

merhaba arkdadaşlar ben ağda çalışan programlarla uğraşmak istiyorum fakat fazla detaylı bilgiye sahip değilim yardımcı olursaız sevinirim.nasıl başlamalıyım neler yapmalıyım hangi componentleri kullanmalıyım.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

İlk önce Forumda istediğin bilginin varlığının olup olmadığını aratarak kontrol etmelisin :wink:

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
longhorn

Mesaj gönderen longhorn »

yani ne yapmam gerekiyo yardımcı olun
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Networkte çalışan ne tarz program yazmak istiyorsun. Database, Chat, oyun vesaire biraz daha açıklama yapmalısın.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
longhorn

Mesaj gönderen longhorn »

mesela bir işyerinde diğer bilgisayarları kontrol eden kapatan,ağdaki makineler birbirleriyle haberleşebilsin istiyorum.su anda aklıma gelmiyo ama bunlar yani
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

öncelikle lütfen forum kurallarını oku :!:

Daha sonra Arama tuşu en yakın arkadaşın olsun :). İstediğin tarzda program nasıl yapılır (ağda haberleşme, kapatma vs.) 2-3 sefer konuştuk.

Kolay gelsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Yapmayı düşündüğün olay bir kaç satır kod değil bir program bunu parçalara bölüp sormalısın ben yinede bir kaç ipucu vereceğim.

1.Öncelikle 1 yol ağda bir database oluşturup veritabanındaki verileri belirli aralıklarlar kontrol ettirip makineleri yönlendirebilirsin bu olay en basit şekli olacaktır.

2. Yol un ise indy bileşenlerini kullanarak Client Server programlama yapabilirsin. Bunun için 2 adet proje hazırlaman gerekecektir. Mantık Chat programları gibi.

Bu konuda biraz detay'a girmek lazım.
Yapman gereken olayın ilk i kapatmak istediğin bilgisayar'a Client programı yazmalısın.

Hadi bunu bir uygulamayla geliştirip öğrenelim :wink:

Amacımız IP sini bildiğimiz bir bilgisayarın monitörünü kapatmak :idea:

Yeni bir Proje başlat bu Client kapatmak istediğimiz makinenin programı olsun.

Bileşenlerden indy Servers sekmesine gel IdUDPServer Objesini formuna ekle Ayrıca uses kısmına IdSocketHandle unitini ekle.

objenin udpread eventine

Kod: Tümünü seç

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
var
  c:Word;
  stream : TStringStream;
begin
  stream := TStringStream.Create('');

  Try
    stream.CopyFrom( AData, AData.Size);
    if stream.DataString = 'KAPAT' then
         SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,1);

    if stream.DataString = 'AÇ' then
         SendMessage(Application.Handle,WM_SYSCOMMAND,SC_MONITORPOWER,0);

    finally
       stream.Free;
    end;
End;
Yazdığım kod eğer kapat stringini alıyorsa ekranı kapatacaktır.

Şimdi gelelim Server programımızı inşa etmeye
Bu olay basit Server makinanın KAPAT stringini bekleyen bilgisayarlara
makinelerin IP numarasını kullanarak.

Bir buttonun onclick eventine

Kod: Tümünü seç

IdUDPServer1.Send('193.178.0.1', 1031, 'KAPAT'); 
Burada kullanmış olduğum IP numarası sallamadır. 1031 Port dur.

KAPAT ta gönderilen veridir.

Objelerin Active özelliklerini True yap. Object Inspeector penceresinden ayarlayabilirsin. DefaultPort bölümünden. Ayrıca BroadCastEnabled özelliğini True yaparsan 255.255.255.255 nolu ip adresine gönderme yaptığın zaman bütün ağdaki bütün bilgisayarları etkilemiş olursun.



Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
longhorn

saol ama...

Mesaj gönderen longhorn »

bu vermiş oldugunuz örnekte monitörü kapatmak için mesela benim bilgisayarım server ve patronumun ki de client olacak ikisinide kurmam gerekiyor dimi.indyservers sekmesinin dışında componentlerde kullanabilirmiyim acaba.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

longhorn yazdı:bu vermiş oldugunuz örnekte monitörü kapatmak için mesela benim bilgisayarım server ve patronumun ki de client olacak ikisinide kurmam gerekiyor dimi.indyservers sekmesinin dışında componentlerde kullanabilirmiyim acaba.
Evet ikisinide kurmanız gerekli.

Indy bileşeni hariç internet sekmesindeki ClientSocket ve Serversocket objeleri ilede yapabilirsin kanatindeyim veya FastNet bileşenleri ile.

Bu bileşenlerle deneme yapmadım. Ama en basiti Indy.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
sherlockholmes
Kıdemli Üye
Mesajlar: 930
Kayıt: 19 Tem 2004 09:13

Mesaj gönderen sherlockholmes »

selamlar

indy bileşenini kullanarak bir client server tipi program yazmaya çalışıyorum bu örnekte vermiş olduğunuz kodları temel alarak bir program yazdım. haberleşmek için 1031 nolu portu kullanmayı deniyorum. programın tüm kodlarını ağdaki makineyi kapatmak başlığına gönderdim. ama programı başarılı bir şekilde çalıştıramadım. hiçbir hata mesajı de vermiyor. sorun kullanmayı denediğim porttan mı kaynaklanıyor. söz konusu bilgisayarlar birbirini görüyor ping komutu ile birbirlerine ping atabiliyorlar. client kısımdaki program service application olarak yapıldı. client ve server program için ikisinde de ıdUDPserver bileşeni kullandım bileşenlerin active özellikleri true , ama hala sonuç yok :(
Cevapla