heute habe ich beschlossen mir einen TCP chat zu coden.
Eigentlich geht fast Alles.
Nur wenn ich versuche mit anderen PCs zu chatten kommt keine Nachricht an.
und hier der code:
Code:
Imports System.Net.Sockets, System.Threading, System.IO
Public Class Form1
Dim Listener As New TcpListener(7000)
Dim Client As TcpClient
Dim Message As String
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Listener.Stop()
Application.Exit()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Listener.Start()
Dim listthread As New Thread(New ThreadStart(AddressOf listening))
listthread.Start()
End Sub
Private Sub listening()
Listener.Start()
End Sub
Private Sub btnSendMsg_Click(sender As Object, e As EventArgs) Handles btnSendMsg.Click
If rtbTextToSend.Text = "" Thensn
MsgBox("Geben Sie bitte einen Text ein!", MsgBoxStyle.Exclamation, "Kein Text!")
Else
Try
Client = New TcpClient(tbip.Text, 7000)
Dim writer As New StreamWriter(Client.GetStream())
writer.Write(rtbTextToSend.Text)
rtbReceeivedText.AppendText(Format(Now, "[dd.MM | hh:mm:ss]]") & " Du: " & rtbTextToSend.Text & vbCrLf)
rtbTextToSend.Clear()
writer.Flush()
Catch ex As Exception
MsgBox("Fehler", MsgBoxStyle.Exclamation)
End Try
End If
End Sub
Private Sub tmrlistener_Tick(sender As Object, e As EventArgs) Handles tmrlistener.Tick
If Listener.Pending = True Then
Message = ""
Client = Listener.AcceptTcpClient()
Dim Reader As New StreamReader(Client.GetStream())
While Reader.Peek > -1
Message = Message + Convert.ToChar(Reader.Read()).ToString
End While
rtbReceeivedText.AppendText(Format(Now, "[dd.MM | hh:mm:ss]]") & " Er/Sie " & Message & vbCrLf)
End If
End Sub
End Class
Danke Schonmal im Vorraus.
LG WITZIG







