Hallo Community
Ich bin gerade dabei das Grundgerüst für einen Client-Server-Chat unter Verwendung von TCP/IP zu schreiben. Allerdings empfängt der Server (und genau genommen auch der Client, da die Codes größtenteils identisch sind) immer nur die erste versandte Nachricht. Alle weiteren Nachrichten, die ich verschicke, werden nicht empfangen. Was habe ich falsch gemacht?
Hier der Code des Servers:
Greetingz
Jakob
Ich bin gerade dabei das Grundgerüst für einen Client-Server-Chat unter Verwendung von TCP/IP zu schreiben. Allerdings empfängt der Server (und genau genommen auch der Client, da die Codes größtenteils identisch sind) immer nur die erste versandte Nachricht. Alle weiteren Nachrichten, die ich verschicke, werden nicht empfangen. Was habe ich falsch gemacht?
Hier der Code des Servers:
VB.NET-Quellcode
- Imports System.Net
- Imports System.Net.Sockets
- Imports System.IO
- Class Form1
- Dim message As String = ""
- Dim listener As TcpListener
- Dim Client As TcpClient
- Dim stream As NetworkStream
- Dim reader As StreamReader
- Dim writer As StreamWriter
- Dim thread As Threading.Thread
- Delegate Sub chat_write_delegate()
- Private Sub button_connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button_connect.Click
- thread = New Threading.Thread(AddressOf connect)
- thread.Start()
- rtxt_chat.Text = TimeOfDay & vbTab & "Connecting..." & vbCrLf
- End Sub
- Public Sub connect()
- listener = New TcpListener(IPAddress.Any, txt_port.Text)
- listener.Start()
- Client = listener.AcceptTcpClient
- stream = Client.GetStream
- writer = New StreamWriter(stream)
- reader = New StreamReader(stream)
- While Client.Connected = True
- While reader.Peek() > -1
- message = message & Convert.ToChar(reader.Read()).ToString
- If Not reader.Peek() > -1 Then
- MsgBox(message)
- Me.Invoke(New chat_write_delegate(AddressOf write_message))
- End If
- End While
- End While
- End Sub
- Sub write_message()
- rtxt_chat.Text = rtxt_chat.Text & message & vbCrLf
- message = ""
- End Sub
- Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button_send.Click
- writer.Write(txt_send.Text)
- writer.Flush()
- txt_send.Text = ""
- End Sub
- End Class
Greetingz
Jakob
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Combat_Henry“ ()