PDA

Tüm Versiyonu Göster : VB'de Telnet Porgramı Yapmak


red_hacker
21-06-05, 13:47
Bunun için:
2 Commandbutton:Bağlanmak ve bağlantı kesmek için
1 Label:bağlantı durumu için
5 tane Textbox:karşı ip,karşı port,veri almak,veri göndermek,verinin boyutu için
1 tane winsock ve 1 tane de timer:winsock durumu için(interval=100)
ayrıca text4'ün multiline=true olmalı



Private Sub Command1_Click()'bağlanmak için
Select Case Winsock1.State 'winsock durumuna göre

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 için
Select Case Winsock1.State 'winsock durumuna göre

Case "0": 'eğer bağlantı yoksa bişey yapmayacağız

Case "7": 'eğer bağlantı varsa bir soru soracağız ona göre 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 göndermek için text3 'ye mesaj yazıp
'entera basınca mesaj gidicek bunu için önce 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 'text3ü gönder
Text4.Text = Text4.Text & "Gönderilen:" & Text3 & vbCrLf

Text3.Text = "" 'text3ü 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 sürekli aşağı inmek zorunda kalmayacağız.

End Sub

Private Sub Timer1_Timer()
'winsock durumunu anlamak için

Select Case Winsock1.State
Case "0": Label1.Caption = "Kapalı"
Case "1": Label1.Caption = "Açı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 düzgün 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 çeviriyoruz
'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 çıkar

End Sub

eternet
11-04-06, 13:03
Sağol
Kardeş