'Winsock ile Basit Bir Telnet Porgramı Yapmak
'Bunun icin:
'2 Commandbutton:Bağlanmak ve bağlantı kesmek icin
'1 Label:bağlantı durumu icin
'5 tane Textbox:karşı ip,karşı port,veri almak,veri gondermek,verinin boyutu icin
'1 tane winsock ve 1 tane de timer:winsock durumu icin(interval=100)
'ayrıca text4'un multiline=true olmalı
Private Sub Command1_Click()'bağlanmak icin
Select Case Winsock1.State 'winsock durumuna gore
Case "0": 'eğer kapalı ise bağlantıyı kuracağız
Winsock1.RemoteHost = Text1.Text
Winsock1.RemotePort = Text2.Text
Winsock1.Connect
Case "7": 'eğer bir bağlantı varsa bunun olduğunu ve bağlantı hakkında bilgi vereceğiz
MsgBox "Zaten Bir Bağlantı Kurulu:" & vbCrLf & Winsock1.RemoteHostIP & ":" & Winsock1.RemotePort, vbInformation, "Hata"
End Select
End Sub
Private Sub Command2_Click()'bağlantıyı kesmek icin
Select Case Winsock1.State 'winsock durumuna gore
Case "0": 'eğer bağlantı yoksa bişey yapmayacağız
Case "7": 'eğer bağlantı varsa bir soru soracağız ona gore bağlantı ya devam edecek ya da kesilecek
Dim cevap
cevap = MsgBox(Winsock1.RemoteHostIP & ":" & Winsock1.RemotePort & " ile Bağlantıyı Kesmek istediğinizden Emin Misiniz?", vbInformation + vbYesNo, "Bağlantı Kes")
If cevap = vbYes Then
Winsock1.Close
End If
End Select
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
'Bağlantı Kurulu iken karşı tarafa mesaj gondermek icin text3 'ye mesaj yazıp
'entera basınca mesaj gidicek bunu icin once bağlı olup olmadığımızı kontrol edicez
If Winsock1.State = 7 Then
If KeyAscii = 13 Then 'basılan tuş enter ise
Winsock1.SendData Text3.Text 'text3u gonder
Text4.Text = Text4.Text & "Gonderilen:" & Text3 & vbCrLf
Text3.Text = "" 'text3u temizledik
End If
End If
End Sub
Private Sub Text4_Change()
Text4.SelStart = Len(Text4.Text) 'bununla mesaj geldi mi en son kalan yerinden devam
'edicek biz de scroll bar ile surekli aşağı inmek zorunda kalmayacağız.
End Sub
Private Sub Timer1_Timer()
'winsock durumunu anlamak icin
Select Case Winsock1.State
Case "0": Label1.Caption = "Kapalı"
Case "1": Label1.Caption = "Acık"
Case "7": Label1.Caption = "Bağlı"
Case "9": Label1.Caption = "Hata!"
Winsock1.Close 'hata olduğunda winsock tekrar hazır duruma gelecek
Case "8": Label1.Caption = "Bağlantı Kesildi"
Winsock1.Close
End Select
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim gelen As String 'gelen veriyi string olarak tanımlamazsak duzgun alamayız
Winsock1.GetData gelen
Text4.Text = Text4.Text & "Gelen:" & gelen & vbCrLf 'gelen veri text4'e aktırlacak
Text5.Text = Text5.Text + bytesTotal / 1000 'burada da gelen verinin boyutunu kilobyte a ceviriyoruz
've text5'e ekleyerek devam ediyoruz.
End Sub
Private Sub Form_Load()
Text5.Text = "0" 'gelen verinin boytunu hesaplarken text5i sıfırlamak gerek yoksa hata cıkar
End Sub
__________________
Winsock ile Telnet Benzeri Bir Program Yapmak
Programlama0 Mesaj
●39 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- Winsock ile Telnet Benzeri Bir Program Yapmak