ağda çalışacak program
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ağda çalışacak program
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.
İlk önce Forumda istediğin bilginin varlığının olup olmadığını aratarak kontrol etmelisin
Kolay Gelsin...

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.
Networkte çalışan ne tarz program yazmak istiyorsun. Database, Chat, oyun vesaire biraz daha açıklama yapmalısın.
Kolay Gelsin...
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.
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
Amacımız IP sini bildiğimiz bir bilgisayarın monitörünü kapatmak
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
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
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...
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

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

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;
Ş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');
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.
saol ama...
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.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.
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.
- sherlockholmes
- Kıdemli Üye
- Mesajlar: 930
- Kayıt: 19 Tem 2004 09:13
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
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
