Advertisement
Guest User

GUIClient.vb

a guest
Dec 12th, 2011
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.13 KB | None | 0 0
  1. Public Class ChatServer
  2.  
  3.     Dim Tcp_Listern As System.Net.Sockets.TcpListener
  4.     'Dim neu As New Neuheitenvb
  5.     Dim port As Integer = 137
  6.     Dim nehmeAn As Boolean = False
  7.     Dim Users() As String
  8.     Public TotalUsers As Integer = 0
  9.     Public ChatclientListe As New SortedList(Of Integer, ChatClient)
  10.     Public User_Dic As New SortedDictionary(Of Integer, String)
  11.     Public Event ClientDisconnected(ByVal c As ChatClient)
  12.     Public Event ClientNewMessage(ByVal c As ChatClient, ByVal sMessage As String)
  13.     Public Event NewclientConnected(ByVal c As ChatClient)
  14.    
  15.     Public Sub start(ByVal Port As Integer)
  16.  
  17.         nehmeAn = True
  18.         Dim t As New System.Threading.Thread(AddressOf VerbindungAnehmen)
  19.         t.IsBackground = True
  20.         t.Start()
  21.     End Sub
  22.     Private Sub VerbindungAnehmen()
  23.         Tcp_Listern = New System.Net.Sockets.TcpListener(port)
  24.         Tcp_Listern.Start()
  25.         While nehmeAn = True
  26.             Dim TcpC As System.Net.Sockets.TcpClient = Tcp_Listern.AcceptTcpClient
  27.             Dim ChatC As New ChatClient
  28.             ChatC.Start(TcpC)
  29.             TotalUsers += 1
  30.             ChatclientListe.Add(TotalUsers, ChatC)
  31.             User_Dic.Add(TotalUsers, ChatC.ChatName)
  32.             ChatC.schreiben("ok")
  33.             AddHandler ChatC.VerbindungUnterbrochen, AddressOf Disconnected
  34.             AddHandler ChatC.NeueNachricht, AddressOf NewMessage
  35.             RaiseEvent NewclientConnected(ChatC)
  36.         End While
  37.     End Sub
  38.     Private Sub Disconnected(ByVal c As ChatClient)
  39.         ChatclientListe.Remove(TotalUsers)
  40.         ' Muss vllt da noch was verandern
  41.         RaiseEvent ClientDisconnected(c)
  42.     End Sub
  43.  
  44.     Private Sub NewMessage(ByVal c As ChatClient, ByVal sMessage As String)
  45.  
  46.         RaiseEvent ClientNewMessage(c, sMessage)
  47.         SchreibeAnJedenClient(sMessage)
  48.     End Sub
  49.  
  50.     Public Sub SchreibeAnJedenClient(ByVal sText As String)
  51.         Try
  52.             Dim i As Integer = ChatclientListe.Count()
  53.             Do Until i = 0
  54.                 Dim c As ChatClient = ChatclientListe(i)
  55.                 c.schreiben(sText)
  56.                 i -= 1
  57.             Loop
  58.         Catch ex As Exception
  59.             Console.WriteLine("Schreib an jeden Client")
  60.         End Try
  61.  
  62.     End Sub
  63.  
  64.     Public Sub Kickbykey(ByVal skey As Integer, ByVal sText As String)
  65.  
  66.         If User_Dic.ContainsKey(skey) = True Then
  67.  
  68.             Try
  69.                 Dim c As ChatClient = ChatclientListe.Item(skey)
  70.  
  71.                 c.VerbindungTrennen("YOU WERE KICKED FROM THE SERVER", True)
  72.  
  73.             Catch ex As Exception
  74.  
  75.             End Try
  76.             ' FeedBack
  77.         End If
  78.     End Sub
  79.  
  80.     Public Sub Get_All_Users(ByVal sTotal As Integer)
  81.  
  82.  
  83.         Dim c As ChatClient = ChatclientListe.Item(TotalUsers)
  84.         Dim AllUsernames As String
  85.         Dim i As Integer = TotalUsers
  86.         Do Until i = 0
  87.  
  88.             AllUsernames = User_Dic.Item(i)
  89.             c.schreiben(AllUsernames)
  90.             i -= 1
  91.         Loop
  92.  
  93.  
  94.     End Sub
  95.  
  96.     Public Sub Stopp()
  97.         On Error Resume Next
  98.         nehmeAn = False
  99.         Tcp_Listern.Stop()
  100.  
  101.     End Sub
  102. End Class
  103.  
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement