[VisuaL BasiC] WinsocK Mükemmel AnLatım :)

FoReWeR

New member
Katılım
19 Ağu 2005
Mesajlar
176
Reaction score
0
Puanları
0
Konum
root@localhost
Winsock Kullanımı-Özellikleri-Örnekleri Kısaca Herşeyi :

İlk Önce Bu Dökümanı Baştan Sona Okuyun.Okumayan TOP Olsun ;)
Microsoft Winsock Control 6.0 (MSWINSCK.OCX) :

Bilgi İletişimini Gerçekleştirmek İçin Kullanılan Nesnedir.Network Programlarının %90 ında Rastlanır.

Özellikleri :

Protocol : İletişim Sisteminin Belirlendiği Protokoldür
0 Olursa TCP Protokolü
1 Olursa UDP Protokolü

Kullanılacak Ağ İnternet Ağı İse TCP Seçilmelidir.Yerel Ağ Üzerinde Yapılacak İse UDP Seçilebilir.UDP Bir TCP Referansı Olarak Gösterilebilir.

LocalIP : Bilgisayarın IP Adresinin Bulunduğu Özellikdir.Bu Özellik İle Bilgisayarın IP'si Öğrenilebilir.

örn : MsgBox Winsock1.LocalIP

LocalHostName: Bilgisayarın Ağ Üzerindeki İsminin Saklı Olduğu Özelliktir.Host name , Ağda Bilgisayarı Tanımlayan Bir Özelliktir.

Örn : MsgBox Winsock1.LocalHostName

LocalPort : Kurulacak Bağlantı İçin Kullanılacak Portun Belirlendiği Özelliktir
Örn : Winsock1.LocalPort = 123 ' 123 Nolu Port Bağlantı İÇin Açıldı

RemoteHost : Bağlantı Kurulacak Bilgisayarın IP Adresinin Verildiği Özelliktir.

örn : Winsock1.RemoteHost= "123.456.789.101" ' 123.456.789.101 Numaralı Ip Adresi Bağlantı Kurmak Üzere Ayarlandı

RemotePort : Karşı Bilgisayara Bağlantı Kurulacak Portun Belirlendiği Özelliktir.

Winsock1.RemotePort = 123 '123 Nolu Porta Bağlan Manâsına Gelir

BytesReceived : Gönderilen Verinin Byte Cinsinden Değerini Verir.

MsgBox Winsock1.BytesReceived & "Byte YOllanmış"

Metotlar ( Metotlar Bence En Önemli Kavranlardır.Dikkatlice Okuyun )

Connect : Bağlanılacak Bilgisayarın IP Adresi ve Protu Atandıktan Sonra Bağlantı Kurma Metodudur.

Kullanım : Winsock1.Connect

Listen : LocalPort Özelliğine Bir Port Numarası Atandıktan Sonra Bu Metot Çağrılarak Port Açılır

Kullanım : Winsock1.Listen

Accept (requestID) : Bir Bağlantı Geldiğinde Bağlantıyı Sağlamak Amacı İle Kullanılır.requestID Değişkenine Bağlanacak Bilgisayarın Bilgisi Aktarılır.Bağlantıyı Koskaca Bir Ağda Dahi Olsanız Sağlamak İçin Aşağıdaki Minicik Kod Yeter.

Kullanım : Winsock1.Accept RequestID

SendData : Bağlantı Sağlandıktan Sonra Karşı Bilgisayara Veri Yollamak İçin Kullanılır.Yollanacak Veri Metin Türünde Olmalıdır.GetData Fonksiyonu ve Değişkenler Aracılığı İle Bir Server Client Programı Kurmanın En Basit Yoludur.

Kullanım : Winsock1.SendData "Nasılsınız"
Kullanım 2:Dim road As String
road = "Bağlandık"
Winsock1.SendData "road"

UYARI : SendData Fonksiyonu İle Yollanan Veri Client Olan Bilgisayardada Belirli Bir Değişken Olarak Tanımlanıp Karşı Bilgisayarda Her Türlü İşlemin Yapılmasına Olanak Verir.Eğer Böyle Olmasaydı Winsock Nesnesinde Sadece Çok Basit Yazılar Yollanırdı.Faket GetData'ya Gelen Verinin Değişken Olarak Tanımlanabilip Karşı Bilgisayarda Her Türlü Tanımlı İşleme Olanak Verir.


GetData : Gönderilen Veriyi Almak İçin Kullanılır.Alınan Veriler Aynı Satırda Belirli Değişkenlere Atanır.

Kullanım :

Dim GelenMetin As String
Wimsock1.GetData GelenMetin
MsgBox GelenMetin

Close : Adında Anlaşılacağına Göre Aktif Bağlantıyı Kapamak İçin Kullanılır.

Winsock1.Close


Olaylar ( Bunlar Olmadan Bi Bok Yapamazsın:) )

ConnectionRequest(ByVal requestID As Long) : Bağlantı İsteği Geldiğinde Çalışacak Olan Prosedürdür.RequestID Değişkenine Bağlantı İsteiği Bulunan Bilgisayarın Bilgileri Atanır.

Kullanım :
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Accept requestID
End Sub

UYARI : Yukarıdaki Komut İle Belirli Bir Porttan(localport) Gelen Bağlantıyı Kabul Edersiniz.Eğer Bilgisayarınızdaki Birden Fazla Portu Açar ve Client Makinalarının Size Bağlanması İçin Çeşitli Portları Verirseniz ve Birden Fazla Bilgisayar Çeşitli Portlarla Sizle Bağlantı Kurarsa Bağlantı Sadece Winsock1 nesnesinden Sağlanacağı İçin Ağ Kilitlenir.Eğer Size Birden Çok Kişi Bağlanıcak İse Ağın Kitlenmemesi İçin Benim Önerim Size Kaç Kişi Bağlanıcaksa ve Kaç Tane Port Kullanılacaksa O Kadar Sayıda Winsock Nesnesi Eklemeniz Ve Hepsine Ayrı Ayrı Portlar Vermeniz Olacaktır.(Unutmayın Bu Çok Önemli)

Eğer Yukarıdaki Uyarıdan Bir Şey Anlamadıysanız 163561733 Numaralı İcqdan Benle İrtibata Geçebilirsiniz.

Connect : Bağlantı İsteği İsteği Kabul Edilip Bağlantı İsteği Kabul Edildiğinde Otomatik Olarak Çalışır.

Kullanım :

Private Sub Winsock1_Connect()
MsgBox "Bağlantıyı Kurdum" 'Bağlantı Sağlanınca Bildiriyor
End Sub

SendComplete: Gönderilmekte Olan Bilginin Tamamı Gönderildiğinde Otomatik Olarak Çalışan Metotdur.

Private Sub Winsock1_SendComplete()
MsgBox "Veri Aktarımı Tamamlandı" 'Veri Aktarımı Sağlandığı Zaman Bildiriyor
End Sub

DataArrival : Karşı Taraftan Veri Geldiğinde Çalışan Olaydır.Bu Prosedürde Gönderilen Veri GetData İle Alınmalıdır.Yani Anlıyacağınız Öyle Abartılı Olarak Görsel Bi İşlevi Yok :)

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData road 'Gelen Veri road Değişkenine Akatarılıyor.Ama Önce Tanımlanması Gerek Tabi.
End Sub

Evet Sonunda Winsock Nesnesi Hakkında Tam İçerikli Bi Döküman Yazdım.İlk Başlarda Her Ne Kadar Zorlanıcak Olsanız Bile Bi Süre Sonra Parmaklarınız Kodları Kendisi Yazacak...

Eğer Bu Konuyu Çeşitli Örneklerle Pekiştirmek veya Client-Server İlişkisini Nasıl Olduğunu Öğrenmek İçin Bu Sitede Bir Kaç Trojan Var Onu İnceleyebilirsiniz.Yukarıda Gösterilen Çeşitli road vs vs Değişkenleri Orda Oraya Örnekleri Göstermek İçin Yazılmıştır.Lütfen Onların Orda Tanımlandığını Düşünmeyin.Onları Sizin Tanımlamanız Gereklidir.
Visual Basic Konusunda Takıldığınız Yerler Varsa 163561733 Numaralı İCQ'dan Bana Ulaşabilir Sorularınızı Yöneltebilirsiniz.Ben Her Zaman Size Yardım Ederim Ama Yeterki Yardım Almak İsteyen Biri Olsun.
Eğer Sorucağınız Konu Çok Basit Değil İse Bana Sorununuzu Yönelttiğinizden En Geç 2 Gün Sonra KosKoca Bir Döküman Alabilirsiniz.
Eğer Örnek Almak İstiyorsanız İcq'ya Gelin.Aslında Bu Dökümanın Sonuna Bir Örnek Yerleştirmek İsterdim Ama Çok Parmaklarım Yoruldu Ben Napayım.

Saygılarımla;

RoadMaster

*Alıntıdır*
 
:S bunu 7. kez okuyorum.. üstte yazıyo ya okumayan top olsun :)
 
Geri
Üst