Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class ChatServer
- Dim Tcp_Listern As System.Net.Sockets.TcpListener
- Dim port As Integer = 137
- Public ChatclientListe As New List(Of ChatClient)
- Dim nehmeAn As Boolean = False
- Public Event ClientDisconnected(ByVal c As ChatClient)
- Public Event ClientNewMessage(ByVal c As ChatClient, ByVal sMessage As String)
- Public Event NewclientConnected(ByVal c As ChatClient)
- Public Sub start(ByVal Port As Integer)
- nehmeAn = True
- Dim t As New System.Threading.Thread(AddressOf VerbindungAnehmen)
- t.IsBackground = True
- t.Start()
- End Sub
- Private Sub VerbindungAnehmen()
- Tcp_Listern = New System.Net.Sockets.TcpListener(port)
- Tcp_Listern.Start()
- While nehmeAn = True
- Dim TcpC As System.Net.Sockets.TcpClient = Tcp_Listern.AcceptTcpClient()
- Dim ChatC As New ChatClient
- ChatC.Start(TcpC)
- ChatclientListe.Add(ChatC)
- AddHandler ChatC.VerbindungUnterbrochen, AddressOf Disconnected
- AddHandler ChatC.NeueNachricht, AddressOf NewMessage
- RaiseEvent NewclientConnected(ChatC)
- End While
- End Sub
- Private Sub Disconnected(ByVal c As ChatClient)
- ChatclientListe.Remove(c)
- RaiseEvent ClientDisconnected(c)
- End Sub
- Private Sub NewMessage(ByVal c As ChatClient, ByVal sMessage As String)
- RaiseEvent ClientNewMessage(c, sMessage)
- SchreibeAnJedenClient(sMessage)
- End Sub
- Public Sub SchreibeAnJedenClient(ByVal sText As String)
- Try
- For Each c As ChatClient In ChatclientListe
- c.schreiben(sText)
- Next
- Catch ex As Exception
- Console.WriteLine("Schreib an jeden Client")
- End Try
- End Sub
- Public Sub Kickbyname(ByVal sClientName As String, ByVal sText As String)
- For Each c As ChatClient In ChatclientListe
- If c.ChatName = sClientName Then
- c.schreiben(sClientName & " was kicked from the Server.")
- c.VerbindungTrennen()
- End If
- Next
- End Sub
- Public Sub Stopp()
- On Error Resume Next
- nehmeAn = False
- Tcp_Listern.Stop()
- Exit Sub
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement