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