Hallo zusammen,
ich habe das Tcplistener Beispiel hier aus dem Forum versucht auf eine GUI Anwendung umzuschreiben. Das funktioniert auch, aber nur 1x. Danach muss ich die Anwendung schließen und wieder starten. Hier mein Code:
Ich stehe hier gerade auf dem Schlauch, da ich nicht weis warum der Thread nur 1x durchlaufen wird nach dem die Connection aufgebaut wurde. Kann mir jemand einen Tip geben ?
Danke im Voraus
Gruß Kay
ich habe das Tcplistener Beispiel hier aus dem Forum versucht auf eine GUI Anwendung umzuschreiben. Das funktioniert auch, aber nur 1x. Danach muss ich die Anwendung schließen und wieder starten. Hier mein Code:
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.IO
- Imports System.Net
- Public Class Form1
- Private server As TcpListener
- Private client As New TcpClient
- Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
- Private list As New List(Of Connection)
- Private Structure Connection
- Dim stream As NetworkStream
- Dim streamw As StreamWriter
- Dim streamr As StreamReader
- End Structure
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- server = New TcpListener(ipendpoint)
- server.Start()
- Dim t As New Threading.Thread(AddressOf ListenToConnection)
- t.Start()
- End Sub
- Private Sub ListenToConnection(ByVal con As Connection)
- While True ' wir warten auf eine neue verbindung...
- Try
- client = server.AcceptTcpClient
- Dim c As New Connection ' und erstellen für die neue verbindung eine neue connection...
- c.stream = client.GetStream
- c.streamr = New StreamReader(c.stream)
- c.streamw = New StreamWriter(c.stream)
- Dim temp As String = c.streamr.ReadLine
- Me.Invoke(Sub() Me.TextBox1.Text = temp)
- Catch ex As Exception
- MessageBox.Show(ex.ToString)
- End Try
- End While
- End Sub
- End Class
Ich stehe hier gerade auf dem Schlauch, da ich nicht weis warum der Thread nur 1x durchlaufen wird nach dem die Connection aufgebaut wurde. Kann mir jemand einen Tip geben ?
Danke im Voraus
Gruß Kay