NetworkStream frage zu BeginRead()

  • VB.NET

    NetworkStream frage zu BeginRead()

    Nabend,

    ich habe hier ein TCP Client welcher einen NetworkStream hat der ausgelesen werden soll. Das funktioniert auch zum Teil, aber irgendwie hängt sich der Stream irgendwann auf, bzw. es kommen keine neuen Zeilen hinzu. Ich vermute bei .BeginRead() wird der Stream nicht geleert sondern immer nur hinzugefügt und irgendwann ist der von mir definierte Buffer voll.

    Wie kann ich das lösen? Habe ihr da eine Idee für mich?

    Hier erstmal der Code

    Global

    VB.NET-Quellcode

    1. Private evtDataArrival As New AsyncCallback(AddressOf DataProcessing)


    Routine

    VB.NET-Quellcode

    1. Private Sub Connect()
    2. Me._connection = New TcpClient(Me._server, Me._port)
    3. Me._stream = Me._connection.GetStream()
    4. Me._writer = New StreamWriter(Me._stream)
    5. ' Write something in stream
    6. Me._stream.BeginRead(Me._buffer, 0, 1024, evtDataArrival, Nothing)
    7. End Sub
    8. Private Sub DataProcessing(ByVal dr As IAsyncResult)
    9. Try
    10. Dim numberOfBytes As Integer = Me._stream.EndRead(dr)
    11. RaiseEvent Receiving(System.Text.Encoding.Default.GetString(Me._buffer))
    12. Me._stream.Flush()
    13. Me._stream.BeginRead(Me._buffer, 0, 1024, evtDataArrival, Nothing)
    14. Catch ex As Exception
    15. End Try
    16. End Sub


    Den Code habe ich mir u.a. mit hilfe von dieser Seite zusammen gefriemelt

    social.msdn.microsoft.com/Foru…-event?forum=netfxcompact