| |

VB.NET - Ein- und UmsteigerRe: TCP-Verbindung aufbauen | |  | Autor: Volker Bunge | Datum: 26.02.17 10:39 |
| hier nun der für oben benötigte Code
Imports System.Net.Sockets
Imports System.IO
Public Class Form1
'Variablen:
Dim stream As NetworkStream
Dim streamw As StreamWriter
Dim streamr As StreamReader
Dim Client As New System.Net.Sockets.TcpClient
Dim IP As String = "MeinRechner-PC"
Dim Port As Integer = 950
'Dim loginname As String = "abc" ' Diese Variable ist nicht Pflicht! Aber _
nützlich für ein Chatprogram...
'_________________
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Dim i As Integer = Convert.ToSByte("0x7c", 16)
MsgBox(i)
' Exit Sub
Try
Client.Connect(IP, Port) 'Client verbindet sich mit IP:
' 192.168.111.17 und Port 4000
If Client.Connected Then
Deklare_Streams()
login() ' Sub Login
End If
Catch ex As Exception
MsgBox("Verbidnung konnte nicht mit " & IP & " und Port " & Port & _
" aufgebaut werden!")
End Try
' Eine evtl. alte Verbindung beenden
MsgBox(Client.Connected)
Client.Close() ' Nichts einfacher als das
End Sub
Sub Deklare_Streams()
stream = Client.GetStream ' Stream wird auf Client
' verwiesen
streamw = New StreamWriter(stream) ' Stream zum Senden wird
' deklariert
streamr = New StreamReader(stream) ' Stream zum Empfangen wird
' deklariert
End Sub
Sub client_send(ByVal text As String)
streamw.WriteLine(text)
'streamw.Flush()
End Sub
Function client_recieve() As String
client_recieve = streamr.ReadLine
End Function
' Nach der erfolgreichen verbindung mit der IP und dem Port wird dieser Sub
' aufgerufen:
Sub login()
Try
'Hier kann man jetzt empfangen wie man will.
'Auch die reinfolge ist egal.
'Ich benutzte hier 1 mal senden, einmal empfangen und dann wieder
' von vorne...
'Man kann aber auch 2 mal Empfangen und 2 mal Senden nehmen
' oder...... wies einem so bekommt^^
'client_send("onl ") '& loginname)
' client_send(TBox_Senden.Text)
Dim Zum_Senden(4) As String
Zum_Senden = {"0x7c", "0x04", "0x00", "0x00"}
For i As Integer = 0 To 3
client_send(Zum_Senden(i))
streamw.Flush()
Next
MsgBox("client_recieve() = " & client_recieve()) 'Und hier wird
' der empfangene Stream, der vom Server als Antwort gesendet wurde,
' in einer MSGBOX ausgegeben.
'If client_recieve() = "ok" Then 'Oder sonst irgend was. Ist nur _
ein Beispiel für einen Login
' Send_irgendwas() ' Hier kann gehts zum nächsten sub um irgend _
welche Daten zu versenden...
'Else
' 'Hier den Code wenn das Anmelden Fehlgeschlagen hat. Goto oder _
einen Sub aufrufen oder....
' Exit Sub ' Versteht sich von Selbst...
'End If
' Verbindung beenden
Client.Close() ' Nichts einfacher als das
Catch
' Hier kann man eine Error Message ausgeben oder eine Automatische
' Fehlerbehebung machen,....
' Verbindung beenden
Client.Close() ' Nichts einfacher als das
MsgBox("Fehlernr.: " & Err.Number & " " & Err.Description)
End Try
End Sub
Sub Send_irgendwas()
client_send("Irgendwas")
If client_recieve() = "Auch wieder irgendwas..." Then
'.....
Else
'....
End If
' Und soo weiter...
' Und wenn man die verbidnugn schliesen will, dann einfach:
Client.Close()
' Nichts einfacher als das!^^
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) _
Handles Button2.Click
' Befehl über den TCP-Clint senden
client_send(TBox_Senden.Text)
MsgBox(client_recieve()) 'Und hier wird der empfangene Stream, der
' vom Server als Antwort gesendet wurde, in einer MSGBOX ausgegeben.
' Verbindung beenden
Client.Close() ' Nichts einfacher als das
End Sub
End Class |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|