Multithread TCP Server

Psychomentis

Mitglied
Habe mir etliche Tutorials durchgelesen und verstehe einfach nicht warum das so
nicht funktioniert wie ich es mir gedacht habe. Der Server startet und wenn ein
Client etwas sendet klappt auch alles, nur sobald ein zweiter Client connected
bricht der 2. Client total zusammen.

Liege ich richtig das mein Code nur für einen einzigen Client ausgelegt ist und
nicht für mehrere? Was habe ich genau falsch gemacht und wie änder ich das
am besten? Muss ich etwa für jeden Client einen Thread starten?

Hier der Code:
Code:
Dim stream As NetworkStream
Dim reader As StreamReader
Dim writer As StreamWriter
Dim server As TcpListener
Dim client As TcpClient
Dim tcpThread As New Thread(AddressOf tcp)

Sub Main() ' 
    tcpThread.Start()
End Sub

Sub tcp() ' 
    Try
        server = New TcpListener(IPAddress.Any, 8888)
        server.Start()
        client = server.AcceptTcpClient
        stream = client.GetStream
        reader = New StreamReader(stream)
        writer = New StreamWriter(stream)
        While True
            execute(Decryptor(reader.ReadLine))
        End While
    Catch ex As SocketException
        MsgBox(ex.ToString, MsgBoxStyle.Exclamation, "Applicationerror")
    End Try
End Sub

Vielen Dank im vorraus
MfG
Psychomentis
 
Hey super danke.
Muss zwar nen bisl umdenken, aber das hat mir ungemein weitergeholfen!
Wenn ich den Code fertig habe werde ich den mal posten damit andere Programmierer die sich an sowas versuchen wollen nen kleinen Einblick bekommen.

MFG
Psychomentis
 
Zurück