Server mit mehreren Clients verbinden

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Sepp Master.

    Server mit mehreren Clients verbinden

    Hi ich bins nochmal!

    Ich habe hier folgenden Servercode:

    VB.NET-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.IO
    3. Imports System.Net
    4. Public Class frmServer
    5. Dim stream As NetworkStream
    6. Dim streamw As StreamWriter
    7. Dim streamr As StreamReader
    8. Dim Server As TcpListener
    9. Dim client As New TcpClient
    10. Dim ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 4000)
    11. Dim mainthread As Threading.Thread
    12. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    13. mainthread = New Threading.Thread(AddressOf mainserver)
    14. mainthread.Start()
    15. End Sub
    16. Sub mainserver()
    17. Try
    18. Server = New TcpListener(ipendpoint)
    19. Server.Start()
    20. client = Server.AcceptTcpClient
    21. stream = client.GetStream
    22. streamr = New StreamReader(stream)
    23. streamw = New StreamWriter(stream)
    24. While True
    25. MsgBox(streamr.ReadLine)
    26. End While
    27. Catch
    28. End Try
    29. End Sub
    30. Private Sub frmServer__close(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosing
    31. Server.Stop()
    32. Try
    33. mainthread.Abort()
    34. Catch
    35. End Try
    36. End Sub
    37. End Class



    Wie geht das, dass sich mehrere Clients mit dem Server verbinden können (sagen wir mal 100)? Und wie spricht der Server dann die Einzelnen Clienten an also wie schicke/empfange ich Daten von einem bestimmten Client?

    Meine zweite Frage wäre: Hier empfange ich daten mit einer While True Schleife...da das aber mit so vielen Clients nicht wirklich sauber ist würde ich gerne wissen, wie man die Empfangenen Daten am besten auswertet...sowas wie "If Client1SendetDaten Then Call AuswertungClient1"...wie mache ich so etwas am besten?


    MfG Sepp
    Hm nochmal langsam bitte :) Ich hab noch nie vorher mit TCP gearbeitet und versuch mich da grad irgendwie reinzulesen, was heißt jedem user eine eindeutige ID geben? Bzw. wie mache ich das? Und wie spreche ich dann die verschiedenen User an?

    Wär echt cool wenn du mir da einen Crashkurs geben könntest (wenns geht auf meinen bisherigen Code oben bezogen):)