Visual Basic – Chat programı yapma

Merhaba Arkadaşlar Sizlere karşılıklı Chat Programı Kodlarını paylaşacam Güzel Bir Chat programı yapacaz. 

Nerelerde kulanılır?

 

-Özel Chat olarak 2 Kişilik Baglantılarda

-Trojen Gibi Virüslerin İçine Konarak Kurbanla Sohbet yapmada kulanılır

biraz düşünürseniz Güzel yerlerdede kulanabilir Programlama Takipcileri

 

Private Sub Baglan_Click() 'Bağlan butonuna basıldığı zaman
Dim UzakMakine 'uzakmakine adında bi değişken atıyoruz, bu adından da anlaşılacağı gibi uzak makineyi temsil edecek
W1.Close 'winsock nesnemize w1 adını verdik, bu kısımda winsock u kapatıyoruz
UzakMakine = InputBox("Uzak makine ip yada Dns bilgisini girin", "Uzak makine", "127.0.0.1") 'kullanıcıya uzak makine bilgisini soracak bir inputbox açıyoruz.
If UzakMakine = "" Then 'eğer uzakmakine alanını boş geçerse
Durum = "Uzak Makinesi Tanımı Yanlış" 'kullanıcıyı uyarıyoruz
Exit Sub 've görevi iptal ediyoruz
Else 'kullanıcı eğer uygun bir uzakmakine yazarsa
W1.Connect UzakMakine, 1981 'belirttiği uzakmakineye 1981 nolu portdan bağlanmaya çalışıyoruz
End If 'koşulumuz bitti :))
End Sub

Private Sub Bekle_Click() 'bekle butonun basıldığı zaman
W1.LocalPort = 1981 'winsock için yerel portu 1981 olarak belirliyoruz
W1.Listen 've dinlemeye geçiyoruz
Durum = "Sohbet için Uzak Kullanıcı Bekleniyor ..." 'durumu birde labelde belirtiyoruz
End Sub

Private Sub Gonder_KeyPress(KeyAscii As Integer) 'yazı gönderme alanını gönder adıyla tanımladık,burada basılan tuşu kontrol ediyoruz
If KeyAscii = 13 Then 'eğer basılan tuş ascii13 ise yani enter 'a basılmışsa,
W1.SendData "<" + Lakap + ">" + Gonder 'nick 'i ve sonrasında gönder metin kutusunun içeriğini gönderiyoruz karşı kullanıcıya
YaziAlani = YaziAlani + "<" + Lakap + ">" + Gonder + Chr(13) + Chr(10) 'yazı alanında da gönderdiğimiz bu metnin görünmesini sağlıyoruz
Gonder = "" 've gönder metin alanını boşaltıyoruz
Else 'diğer olasılık
Durum = "metin alanı boş" 'metin kutusu boştur bunu kullanıcıya bir labelde belirtiyoruz.
Exit Sub 've görevi iptal ediyoruz.
End If 'koşulun sonu :)
End Sub

Private Sub Kes_Click() 'kes butonuna basıldığında
Durum = "Bağlantıyı Kestiniz" 'labelde durumu belirtiyoruz
W1.Close 've winsock un bağlantısını kesiyoruz
End Sub

Private Sub W1_Connect() 'bağlantı kurulduğunda
Durum = "Bağlantı Kuruldu -> " + W1.RemoteHostIP 'labelde bunu belirtip hangi uzak makineye bağlandığımızı yazdırıyoruz.
End Sub

Private Sub W1_ConnectionRequest(ByVal requestID As Long) 'Bir bağlantı isteği geldiği zaman
If W1.State <> sckClosed Then W1.Close 'eğer winsock kapalı değilse önce onu kapatıyoruz,
W1.Accept requestID 'gelen isteği kabul ediyoruz
Durum = "Bağlantı Alındı" 'istek geldiğini labelde belirtiyoruz
End Sub

Private Sub W1_DataArrival(ByVal bytesTotal As Long) 'veri aktarımı kısmı
Dim Gelen As String 'gelen adında bir string değişken tanımlıyoruz
W1.GetData Gelen 'winsock ile gelen veriyi alıyoruz
YaziAlani = YaziAlani + Gelen + Chr(13) + Chr(10) 'gelen veriyi, yani karşıdakinin yazdıklarını yazı alanına ekliyoruz ki görelim :)
End Sub

Private Sub W1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
Durum = "Bir Hata Oluştu" 'hata oluştuğunda bunu labelde belirt
End Sub

Private Sub YaziAlani_Change()
YaziAlani.SelLength = Len(YaziAlani) 'yazı alanı değiştiğinde yani yazı alanına yazı eklendiğinde her zaman yazının en son kısmını gösterecek şekilde metin alanı seçme aralığını ayarla :)) karışık biraz ama :)
End Sub

Bir yanıt yazın