| Önsöz | Arama | Üyelik | Sohbet | Alış-Veriş | www.netyorum.com   
Ajanda
Seçtiklerimiz
Arşiv
Yazarlar
Yorumlar

Bölümler

Köşe Yazıları
Teknoloji
Sanat
Soru & Cevap
Dostluk & Sevgi
Eğlence
Geçmiş Zaman Olur ki

Konular

Sinema
Müzik
Kitap
Sözler
Oyunlar
Ürünler
Mekan
 
 
Reklam Fiyatları

İzleyici Mesajları

Elektronik posta :
bilgi@netyorum.com

 
 
Bu sayfayı arkadaşınıza göndermek için tıklayın.

 
 
Açılış sayfası yapmak için tıklayın.

Sık kullanılanlar listesine eklemek için tıklayın.

 

Eski Sayıları

Teknoloji 27.03.2003 İbrahim Gündüz - netyorum.com / Sayı: 127

VISUAL BASIC'TE WINSOCK NESNESİ VE MAHARETLERİ


Merhaba,

Başlıktan da anlaşıldığı gibi size bu yazıda, Visual basic´in iletişim komponentlerinden olan Winsock komponentinden bahsedeceğim. Winsock nesnesi, belirtilen bir ip adresi ve iletişim portu numarası ile windows´un soketlerini kullanarak iki bilgisayar arasında iletişim kurulmasını sağlar.

Şimdi bu nesnenin nasıl kullanıldığını inceleyelim.

Winsock ile programlama yapılırken bilinmesi gereken en önemli kriter, taraflardan bir tanesi İstemci durumunda iken, diğer taraf sunucu durumundadır. Aşağıda iki bilgisayar arasında iletişim sağlamaya yönelik bir örnek program bulunmaktadır.

Sunucu Tarafı:

Dim GelenVeri As String

Private Sub Form_Load()
Winsock1.LocalPort = 23
Winsock1.Listen
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept RequestID
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData GelenVeri
End Sub

Şimdi de yukarıda görülen kodları açıklayalım.

Dim GelenVeri As String

GelenVeri isimli , String tipi bir değişken tanımladık.

Private Sub Form_Load()

Form Yüklenmesi anı olayı tanımlandı.

Winsock1.LocalPort = 23

Winsock´un bilgisayar üzerinde dinleyeceği port´un numarası
tanımlandı.

Winsock1.Listen

Winsock tanımlanan portu dinlemeye başladı.

End Sub

Form yüklenmesi anı olayı sonlandırıldı.

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

Winsock nesnesine belirtilen bağlantı noktasından , bağlantı
talebi
gelmesi olayı tanımlandı.

If winsock1.State <> sckClosed Then Winsock1.Close

Eğer winsock nesnesi o anda aktif bir bağlantı kurmuş ise
bağlantı sonlandırılıyor.

Winsock1.Accept RequestID

Gelen bağlantı isteği kabul ediliyor.

End Sub

Winsock nesnesine belirtilen bağlantı noktasından , bağlantı
talebi gelmesi
olayı sonlandırılıyor.

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Winsock Nesnesine Veri gelmesi olayı tanımlandı.

Winsock1.GetData GelenVeri

Winsock nesnesinden gelen veri, GelenVeri isimli değişkene aktarıldı.

End Sub

Olay sonlandırıldı.

GelenVeri isimli değişkene aktarılmış olan veri herhangi bir metin kutusu etiket nesnesine aktarılarak görülebilir.

(Örn: Text1.Text = GelenVeri veya Label1.Caption = GelenVeri)

İstemci Bölümü:

Private Sub Form_Load()
Winsock1.Connect "Sunucu Bilgisayarın IP adresi", karşı taraftaki bilgisayarda dinlenmek üzere açılan portun numarası (Az önce biz 23 nolu portu dinlenmek üzere
açmıştık.)
End Sub

Private Sub Form_Click ()
Winsock1.SendData "ibrahim"
End Sub

Yukarıda görülen kodlar için fazla bir şey söylemeye gerek yok. Connect komutunu kullanarak (Winsock1.Connect Karşı tarafın ip adresi, karşı tarafın dinleme portu) bağlantı kuruluyor. Form´a tıkladığınızda SendData komutu ile tırnak içindeki mesaj karşı tarafa aktarılıyor.

İşte herşey bu kadar basit.

Yukarıdaki tipte yapılan bağlantı dinleme yöntemi aynı anda sadece bir adet bağlantıyı kabul etmektedir. Server mantığı ile çalışan dinleme yöntemi (Birden fazla bağlantı kabul eden sunucu) sonraki sayılarda anlatılacaktır.

İbrahim Gündüz
e-posta: gunduzonline@celiknet.com
GündüzOnline
Yazılım Tasarım Grubu
 


Yorum Ekle Yorumları Listele
127. Sayı önceki yazı 127. Sayı sonraki yazı
Teknoloji Önceki Yazı Teknoloji Sonraki Yazı
Her hakkı saklıdır. All rights reserved. netyorum.com © 2000-2005 İstanbul-Türkiye