![]()
Zitat
stream = client.GetStream
streamr = New StreamReader(stream)
streamw = New StreamWriter(stream) ' Müsste eigentlich alles Klar sein.
While True
Select Case streamr.ReadLine
Case "onl" ' und so weiter eigentlich müsste es heißen select case mid(streamr.readline,1,3) Aber da des ja vielen zu Kompiziert ist lass ich das mal weg
streamw.WriteLine("ok") ' Achtung! ist nicht Vollständig!
Zitat
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
1. Client.Connect(IP, Port):
Zitat
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Button1 wird geclickt
Client.Connect(IP, Port) 'Client verbindet sich mit IP: 192.168.111.17 und Port 4000
If Client.Connected Then
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
login() ' Sub Login
Else
MsgBox("Verbidnung konnte nicht mit " & IP & " aufgebaut werden!")
End If
|
|
Visual Basic Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
Imports System.IO Imports System.Net Imports System.Net.Sockets Public Class TcpClient Dim stream As NetworkStream Dim streamw As StreamWriter Dim streamr As StreamReader Dim client As New TcpClient Dim port As Integer = 5674 Private Sub Connect_Click() Handles Connect.Click Try client.Connect(TextBox1.Text, port) If client.Connected Then stream = client.GetStream streamw = New StreamWriter(stream) streamr = New StreamReader(stream) Label2.Visible = True TextBox2.Visible = True send.Visible = True Else End If Catch ex As SocketException MsgBox("Verbidnung konnte nicht mit " & ip & " aufgebaut werden!") End Try 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 Private Sub send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles send.Click client_send(TextBox2.Text) End Sub End Class |
|
|
Visual Basic Quellcode |
1 2 |
Dim client As New TcpClient ' Das hier wird zu: ' Dim client As New System.Net.Sockets.TcpClient |
|
|
Visual Basic Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
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 TcpClient Dim IP As String Dim Port As Integer '_________________ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdVerbinden.Click Client.Connect(IP, Port) 'Client verbindet sich 'Hier tritt dann die Fehlermeldung auf If Client.Connected Then 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 cmdVerbinden.Enabled = False cmdSenden.Enabled = True Else MsgBox("Verbidnung konnte nicht mit " & IP & " aufgebaut werden!") End If 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 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load IP = txtIP.Text Port = CInt(txtPort.Text) End Sub Private Sub cmdSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSpeichern.Click IP = txtIP.Text Port = CInt(txtPort.Text) End Sub 'Client Starten wenn Button geklickt wurde Private Sub cmdSenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSenden.Click client_send(txtVersand.Text) txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Versenden: " & txtVersand.Text txtVersand.Text = "" txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Empfangen: " & client_recieve() End Sub Private Sub cmdBeenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBeenden.Click Client.Close() Me.Close() End Sub End Class |
|
|
Visual Basic Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
Imports System.Net Public Class Form1 'Variablen: Dim stream As NetworkStream Dim streamw As StreamWriter Dim streamr As StreamReader Dim Server As TcpListener Dim client As New TcpClient Dim Port As Integer Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, Port) Dim mainthread As Threading.Thread '______________ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Port = CInt(txtPort.Text) End Sub Sub mainserver() Try Server = New TcpListener(ipendpoint) Server.Start() client = Server.AcceptTcpClient stream = client.GetStream streamr = New StreamReader(stream) streamw = New StreamWriter(stream) ' Müsste eigentlich alles Klar sein. Catch txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Fehler: " & "Server konnte nicht gestartet werden" & vbCrLf ' Hier wieder eine Fehler behandlung und ein neuen Versuch den Server zu starten... End Try 'Empfangen: txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Empfangen: " & streamr.ReadLine End Sub Private Sub Form1__close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing Server.Stop() Try mainthread.Abort() Catch End Try End Sub Private Sub cmdSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSpeichern.Click Port = CInt(txtPort.Text) End Sub 'Text Senden wenn Button geklickt wurde Private Sub cmdVersand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdVersand.Click streamw.WriteLine(txtVersand.Text) txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Versenden: " & txtVersand.Text txtVersand.Text = "" End Sub Private Sub cmdBeenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBeenden.Click Me.Close() End Sub 'Server Starten wenn Button geklickt wurde Private Sub cmdStarten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStarten.Click txtEmpfang.Text = txtEmpfang.Text & vbCrLf & "Fehler: " & "Serverasdads " & vbCrLf mainthread = New Threading.Thread(AddressOf mainserver) mainthread.Start() cmdStarten.Enabled = False cmdVersand.Enabled = True End Sub End Class |