TCP-Server hängt - ohne fehlermeldung

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von gfcwfzkm.

    TCP-Server hängt - ohne fehlermeldung

    Hi,

    ich hab ein Problem mit meinem TCP-Server. Hier erstmal den SourceCode:

    VB.NET-Quellcode

    1. 'TYP=ConsoleApplication
    2. 'LANGUAGE=VISUALBASIC
    3. #Region "Imports"
    4. Imports System
    5. Imports System.Diagnostics
    6. Imports System.Threading
    7. Imports System.Net
    8. Imports System.Net.Sockets
    9. Imports System.IO
    10. #End Region
    11. Public Class Main
    12. Shared Dim connection As Socket
    13. Shared Dim readThread As Thread
    14. Shared Dim socketStream As NetworkStream
    15. Shared Private writer As BinaryWriter
    16. Shared Private reader As BinaryReader
    17. Public Shared Sub Main()
    18. Console.Title = "TCP Server"
    19. readThread = New Thread(AddressOf RunServer)
    20. readThread.Start()
    21. Try
    22. writer.Write("SERVER>>> " )
    23. Console.WriteLine("SERVER>>> " )
    24. connection.Close()
    25. Catch exception As SocketException
    26. Console.WriteLine("Error writing object")
    27. End Try
    28. End Sub
    29. Shared Public Sub RunServer()
    30. Dim listener As TcpListener
    31. Dim counter As Integer = 1
    32. Try
    33. listener = New TcpListener(5000)
    34. listener.Start()
    35. While True
    36. Console.WriteLine("Waiting for connection" )
    37. connection = listener.AcceptSocket()
    38. socketStream = New NetworkStream(connection)
    39. writer = New BinaryWriter(socketStream)
    40. reader = New BinaryReader(socketStream)
    41. Console.WriteLine("Connection " & counter &" received.")
    42. writer.Write("SERVER>>> Connection successful")
    43. Dim theReply As String = ""
    44. Try
    45. Do
    46. theReply = reader.ReadString()
    47. Console.WriteLine(theReply)
    48. Loop While (theReply <> "CLIENT>>> TERMINATE" _
    49. AndAlso connection.Connected)
    50. Catch inputOutputException As IOException
    51. Console.WriteLine("Client application closing")
    52. Finally
    53. Console.WriteLine("User terminated connection")
    54. writer.Close()
    55. reader.Close()
    56. socketStream.Close()
    57. connection.Close()
    58. counter += 1
    59. End Try
    60. End While
    61. Catch inputOutputException As IOException
    62. Console.WriteLine("Server application closing")
    63. End Try
    64. End Sub
    65. End Class


    Kapiere aber einfach nicht, wieso der sich aufhängt, kann mir da jemand ein Hinweis geben pls? =)

    mfg

    gfc
    Setz dir nen Haltepunkt und debugge in Einzelschritten und sag uns wo sich der Server aufhängt....

    VB.NET-Quellcode

    1. Try
    2. writer.Write("SERVER>>> " )
    3. Console.WriteLine("SERVER>>> " )
    4. connection.Close()
    5. Catch exception As SocketException
    6. Console.WriteLine("Error writing object")
    7. End Try

    Wird aufgerufen, obwohl keins der benutzen Objekte (writer, connection) initialisiert wurde....

    Oder..... lösch das ganze und mach es neu, denn das was du da jetzt hast sieht einfach nur grausam aus....

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Rinecamo“ ()

    Rinecamo schrieb:

    Oder..... lösch das ganze und mach es neu, denn das was du da jetzt hast sieht einfach nur grausam aus....


    ;(
    Wieso denn? Will ein TCP-Server für eine Verbindung, ist also Sinnerfüllend...
    Oder was meinst du mit schrecklich?

    mfg