Mutliserver (TCP) Mit ASP

  • ASP

    Mutliserver (TCP) Mit ASP

    Guten Tag,
    ich wollte wissen
    ob ich das TUtorial vom Sourcecode austausch auch als ASP Server benutzen kann
    ich möchte es gerne auf meinen Webspace legen und dann über den Webspace
    einen Chat betreiben, könnte jemand mir da helfen??
    Der Bisherige Code für den Server:

    Visual Basic-Quellcode

    1. Imports System.Net.Sockets
    2. Imports System.IO
    3. Imports System.Net
    4. Partial Public Class _Default
    5. Inherits System.Web.UI.Page
    6. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    7. End Sub
    8. Private Server As TcpListener
    9. Private client As New TcpClient
    10. Private ipendpoint As IPEndPoint = New IPEndPoint(IPAddress.Any, 8000) ' eingestellt ist port 8000. dieser muss ggf. freigegeben sein!
    11. Private list As New List(Of Connection)
    12. Private Structure Connection
    13. Dim stream As NetworkStream
    14. Dim streamw As StreamWriter
    15. Dim streamr As StreamReader
    16. Dim nick As String ' natürlich optional, aber für die identifikation des clients empfehlenswert.
    17. End Structure
    18. Private Sub SendToAllClients(ByVal s As String)
    19. For Each c As Connection In list ' an alle clients weitersenden.
    20. Try
    21. c.streamw.WriteLine(s)
    22. c.streamw.Flush()
    23. Catch
    24. End Try
    25. Next
    26. End Sub
    27. Sub Main()
    28. Label1.Text += vbNewLine & "Der Server läuft!"
    29. server = New TcpListener(ipendpoint)
    30. server.Start()
    31. While True ' wir warten auf eine neue verbindung...
    32. client = server.AcceptTcpClient
    33. Dim c As New Connection ' und erstellen für die neue verbindung eine neue connection...
    34. c.stream = client.GetStream
    35. c.streamr = New StreamReader(c.stream)
    36. c.streamw = New StreamWriter(c.stream)
    37. c.nick = c.streamr.ReadLine ' falls das mit dem nick nicht gewünscht, auch diese zeile entfernen.
    38. list.Add(c) ' und fügen sie der liste der clients hinzu.
    39. Label1.Text += vbNewLine & (c.nick & " has joined.")
    40. ' falls alle anderen das auch lesen sollen können, an alle clients weiterleiten. siehe SendToAllClients
    41. Dim t As New Threading.Thread(AddressOf ListenToConnection)
    42. t.Start(c)
    43. End While
    44. End Sub
    45. Private Sub ListenToConnection(ByVal con As Connection)
    46. Do
    47. Try
    48. Dim tmp As String = con.streamr.ReadLine ' warten, bis etwas empfangen wird...
    49. Label1.Text += vbNewLine & con.nick & ": " & tmp
    50. SendToAllClients(con.nick & ": " & tmp) ' an alle clients weitersenden.
    51. Catch ' die aktuelle überwachte verbindung hat sich wohl verabschiedet.
    52. list.Remove(con)
    53. Label1.Text += vbNewLine & con.nick & " has exit."
    54. Exit Do
    55. End Try
    56. Loop
    57. End Sub
    58. End Class


    Würde mich sehr Freuen könntet ihr mir helfen
    Mfg
    confix :D