Merhaba Arkadaşlar Size Winsock Kullanımı Hakkında bilgi vericem.
Öncelikle Bir form oluşturun
Üzerine 3 Adet TextBox yerleştirin
1.TextBox Adı:Text1 (Buraya IP Adresi girilecek)
2.TextBox Adı:TGelen (Buraya Karşıdan gelen mesajlar gelecek)
MultiLine özelliğini True yapın.
3.TextBox Adı:TGiden (Burası Sizin Yazacağınız mesajlar kısmıdır.)
MultiLine özelliği False olarak kalsın.
Daha Sonra 1 Adet Label Ekleyin (Adı: Label1)
Bu Bağlantı durumu hakkında size bilgi verecektir.
Sonra 2 Adet Commad Buton Ekleyin.
1. Butonun Name Kısmına: Baglan yazın (Caption: BAĞLAN)
2. Butonun Name Kısmına: BaglantiBekle yazın (Caption: BAĞLANTI BEKLE)
Sonra 2 Adet Winsock Ekleyin.
(Nasıl Eklerim: Project / Component i seçerek ekrana çıkan pencereden
Microsoft Winsock Control 6.0 (SP6) işaretleyip Tamam tuşuna basın daha
sonra artık Winsock sol taraftaki listeye eklenmiş olacaktır. )
DAHA SONRA AŞAĞIDAKİ KOD SATIRINI FORMUNUZUN KOD SATIRINA OLDUĞU GİBİ EKLEYİN.
'KOD BAŞLANGICI
Option Explicit
Dim enter
Private Sub Baglan_Click()
On Error GoTo HataHaluk_mrdos
Winsock2.RemoteHost = Text1
Winsock2.RemotePort = 1024
Winsock2.Connect
Exit Sub
HataHaluk_mrdos:
MsgBox "İKİNCİ KERE BAĞLAN TUŞUNA BASTINIZ LÜTFEN PROGRAMI YENİDEN ÇALIŞTIRIN..."
End
End Sub
Private Sub BaglantiBekle_Click()
If Winsock1.State = 2 Then
Winsock1.Close
BaglantiBekle.Caption = "BAĞLANTIYI BEKLE"
Else
Winsock1.LocalPort = 1024
Winsock1.Listen
BaglantiBekle.Caption = "BAĞLANTIYI KES"
End If
End Sub
Private Sub Form_Load()
enter = Chr(13) + Chr(10)
TGelen = ""
TGiden = ""
End Sub
Private Sub TGiden_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Winsock1.State = 7 Then
Winsock1.SendData TGiden.Text
TGelen = TGelen + "SİZDEN > " + TGiden + enter
TGiden = ""
End If
If Winsock2.State = 7 Then
Winsock2.SendData TGiden.Text
MsgBox TGiden.Text
TGelen = TGelen + "SİZDEN > " + TGiden + enter
End If
End If
End Sub
Private Sub Winsock1_Close()
Label1 = "BAĞLANTI KESİLDİ"
End Sub
Private Sub Winsock1_Connect()
Label1 = "BAĞLANTI SAĞLANDI"
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
End If
Winsock1.Accept requestID
Label1 = "BİR BAĞLANTI İSTEĞİ GELDİ"
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Winsock1.GetData s
s = "Karsıdan" > "+s"
TGelen.Text = TGelen.Text + s + enter
End Sub
Private Sub Winsock1_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)
MsgBox "Şuganda Hata Oluştu"
End Sub
Private Sub Winsock2_Connect()
Label1 = "BAĞLANTI SAĞLANDI"
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Winsock2.GetData s
s = "Karsıdan > " + s
TGelen.Text = TGelen.Text + s + enter
End Sub
Private Sub Winsock2_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)
Label1 = "BAĞLANTI KESİLDİ"
End Sub
'KOD BİTİŞİ
ŞİMDİ KULLANIMINI ANLATAYIM:
File / Make Prpjet1.exe kısmından programı derleyin.
1. Bu dosyayı internet üzerinden
2. Ağ üzerinden veya
3. Aynı makineden çalıştırabilirsiniz.
Kendi makinenizde çalıştırmak için
programı 2 kere çalıştırın.
1. programda BAĞLANTI BEKLE Command butonuna basın
2. Programda ise Text1 e makinenizin IP adresini girin ve BAĞLAN tuşuna basın.
Ve artık iki prpgram arasında mesaj alıp gönderebilirsiniz...
İyi Çalışmalar.