Winsock Nedir ??
WINSOCK, bir windows internet standartidir (Windows Sockets). Winsock standarti, windows uygulamalari ile Internet arasindaki gecisleri tanimlar ve bu yolla internet protokolleri kullanan servis programlarinin windows altinda kullanimini olanakli kilar.
Winsock İle Neler Yapılabilir ??
Winsock ile FTP proğram chat proğramları gibi proğramlar yapılabilir.Orası hayal gücünüze kalmış bir olay. :)
- Winsock Bağlantı Protokolleri -
İki ayrı protokol kullanarak iki program ya da bilgisayar arasında bağlantı kurar.
UDP : Basit bağlantı programları yazmakta
TCP : Dosya transferi, Chat oturumları yazmakta
img src=http://img693.imageshack.us/img693/9522/69967971.png">
Örnekde UDP TCP nası kodlandığı gösterdim.Button1 click olayına yazdım kodları siz istediğiniz yere kullanacağınız yere göre yazarsınız.
***Not: Winsock Kullanmadan Önce Mutlaka
Imports AxMSWinsockLib
Imports MSWinsockLib
Winsock kütüphanesini ımport etmelisiniz.Aksi halde kodlarda hata verir.
- Winsock Port Dinleme -
Direk resim üzerinde gösteriyorum.
img src=http://img836.imageshack.us/img836/2884/96745082.png">
- Bağlantı İsteği Yollama -
img src=http://img807.imageshack.us/img807/7799/96952975.png">
- Bağlantı Kabul Etmek -
If AxWinsock1.State <> Socket Durumu(Açık Kapalı Durum Neyse) Then AxWinsock1.Close()
AxWinsock1.Accept(Bağlantıyı Yollayan İD)
- Veri Yollamak -
AxWinsock1.SendData("Mesaj Buraya")
- Veri Almak -
AxWinsock1.GetData(Gelen)
Burdan gelen kısmını ister msgbox da ister textboxda istediğiniz yerde gösterin
- Network Kullanımı Ve Özellikleri -
LocalIP : Bilgisayarin IP Adresinin Bulundugu Özellikdir.Bu Özellik Ile Bilgisayarin IP’si Ögrenilebilir
Örnek : MsgBox(AxWinsock1.LocalIP)
LocalHostName: Bilgisayarin Ag Üzerindeki Isminin Sakli Oldugu Özelliktir.Host name , Agda Bilgisayari Tanimlayan Bir Özelliktir.
Örnek: MsgBox(AxWinsock1.LocalHostName)
LocalPort : Kurulacak Baglanti Için Kullanilacak Portun Belirlendigi Özelliktir
Örnek: AxWinsock1.LocalPort = 123 ’ 123 Nolu Port Baglanti İçin Açıldı.
RemoteHost : Baglanti Kurulacak Bilgisayarin IP Adresinin Verildigi Özelliktir
Örnek: AxWinsock1.RemoteHost = "123.456.789.101" ’ 123.456.789.101 Numarali Ip Adresi Baglanti Kurmak Üzere Ayarlandi
RemotePort : Karsi Bilgisayara Baglanti Kurulacak Portun Belirlendigi Özelliktir.
Örnek: AxWinsock1.RemotePort = 123 ’123 Nolu Porta Baglan Anlamına Gelir
BytesReceived : Gönderilen Verinin Byte Cinsinden Degerini Verir.
Örnek: MsgBox(AxWinsock1.BytesReceived & "Byte Yollanmış ")
- Methotlar(Burası Önemli) -
Connect : Baglanilacak Bilgisayarin IP Adresi ve Protu Atandiktan Sonra Baglanti Kurma Metodudur
Kullanım : AxWinsock.Connect
Listen : LocalPort Özelligine Bir Port Numarasi Atandiktan Sonra Bu Metot Çagrilarak Port Açilir
Kullanım: AxWinsock.Listen
Accept (requestID ) : Bir Baglanti Geldiginde Baglantiyi Saglamak Amaci Ile Kullanilir.requestID Degiskenine Baglanacak Bilgisayarin Bilgisi Aktarilir.Baglantiyi Koskaca Bir Agda Dahi Olsaniz Saglamak Için Asagidaki Minicik Kod Yeter
Kullanım: AxWinsock1.Accept(RequestID)
SendData : Baglanti Saglandiktan Sonra Karsi Bilgisayara Veri Yollamak Için Kullanilir.Yollanacak Veri Metin Türünde Olmalidir.GetData Fonksiyonu ve Degiskenler Araciligi Ile Bir Server Client Programi Kurmanin En Basit Yoludur.
Kullanımı: AxWinsock1.SendData("Merhaba")
UYARI : SendData Fonksiyonu İle Yollanan Veri Client Olan Bilgisayardada Belirli Bir Degisken Olarak Tanimlanip Karsi Bilgisayarda Her Türlü Islemin Yapilmasina Olanak Verir.Eger Böyle Olmasaydi Winsock Nesnesinde Sadece Çok Basit Yazilar Yollanirdi.Faket GetData’ya Gelen Verinin Degisken Olarak Tanimlanabilip Karsi Bilgisayarda Her Türlü Tanimli Isleme Olanak Verir.
GetData : Gönderilen Veriyi Almak Için Kullanilir.Alinan Veriler Ayni Satirda Belirli Degiskenlere Atanir
Kullanımı: Dim GelenMetin As String
AxWinsock1.GetData(GelenMetin)
MsgBox(GelenMetin)
Close : Adinda Anlasilacagina Göre Aktif Baglantiyi Kapamak Için Kullanilir.
Kullanımı : AxWinsock.Close