Chat zeigt nur letztes Zeichen an

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von LOLer.

    Chat zeigt nur letztes Zeichen an

    hoi, hab leider nix gefunden was mir bei meinem prob weiterhilft

    also ich hab nen kleinen chat geschrieben, funktioniert alles so weit gut, bis auf die tatsache dass von der empfangenen nachricht nur das letzte zeichen ausgegeben wird

    bsp: ich sende "hallo" und ausgegeben wird beim empfänger "o"


    Quellcode

    1. Imports System.Threading
    2. Imports System.IO
    3. Imports System.Net.Sockets
    4. Public Class Form1
    5. Dim listener As New TcpListener(5555)
    6. Dim client As TcpClient
    7. Dim message As String = Nothing
    8. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    9. listener.Stop()
    10. End Sub
    11. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    12. Dim listthread As New Thread(New ThreadStart(AddressOf listening))
    13. listthread.Start()
    14. End Sub
    15. Private Sub listening()
    16. listener.Start()
    17. End Sub
    18. Private Sub cmd_senden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_senden.Click
    19. client = New TcpClient(txt_ip.Text, 5555)
    20. Dim writer As New StreamWriter(client.GetStream())
    21. writer.Write(txt_senden.Text)
    22. writer.Flush()
    23. End Sub
    24. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    25. If listener.Pending = True Then
    26. message = Nothing
    27. client = listener.AcceptTcpClient()
    28. Dim reader As New StreamReader(client.GetStream())
    29. While reader.Peek > -1
    30. Dim message1 As String
    31. message1 = Convert.ToChar(reader.Read())
    32. message = message1
    33. End While
    34. txt_empfangen.Text = txt_empfangen.Text & message
    35. End If
    36. End Sub
    37. End Class


    hoffe ihr könnt mir bei meinem prob weiterhelfen, danke im voraus :)
    danke hat sich erledigt xD

    hab das abgeändert :) jetzt gehts

    Quellcode

    1. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    2. If listener.Pending = True Then
    3. message = ""
    4. client = listener.AcceptTcpClient()
    5. Dim reader As New StreamReader(client.GetStream())
    6. While reader.Peek > -1
    7. Dim message1 As String
    8. message1 = Convert.ToChar(reader.Read())
    9. message = message1
    10. txt_empfangen.Text = txt_empfangen.Text & message
    11. End While
    12. End If
    13. End Sub