Example #1
0
 /// <summary>
 /// Обработчик события оключения клиента
 /// </summary>
 /// <param name="sender">Клиент</param>
 /// <param name="message">Сообщение о причине отключения</param>
 void Client_disconnected(ClientConnection sender, string message)
 {
     Clients.Remove(sender);
     Output.Write(message, 2);
 }
Example #2
0
 /// <summary>
 /// Обработчик неудачной авторизации клиента
 /// </summary>
 /// <param name="sender">Клиент</param>
 /// <param name="message">Сообщение о неудачной авторизации</param>
 void Client_AuthorizationFaild(ClientConnection sender, string message)
 {
     sender.SendAsync("Auth Failed");
     sender.CloseConnection();
     Clients.Remove(sender);
     Output.Write(message, 2);
 }
Example #3
0
 /// <summary>
 /// Обработчик успешной авторизации клиента
 /// </summary>
 /// <param name="sender">Клиент</param>
 /// <param name="message">Сообщение об успешной авторизации</param>
 void Client_AuthorizationSuccess(ClientConnection sender, string message)
 {
     Clients.Add(sender);
     sender.SendAsync("Auth Success");
     Output.Write(message, 2);
 }
Example #4
0
        private void AcceptCompleted(object sender, SocketAsyncEventArgs e)
        {
            if (e.SocketError == SocketError.Success)
            {
                ClientConnection Client = new ClientConnection(e.AcceptSocket);
                Client.AuthorizationFaild += new ClientConnection.ConnectionEvent(Client_AuthorizationFaild);
                Client.AuthorizationSuccess += new ClientConnection.ConnectionEvent(Client_AuthorizationSuccess);
                Client.Disconnected += new ClientConnection.ConnectionEvent(Client_disconnected);

                Output.Write(e.AcceptSocket.RemoteEndPoint + " Trying to connect", 2);
                //Console.WriteLine("{0} Trying to connect", e.AcceptSocket.RemoteEndPoint);
            }
            e.AcceptSocket = null;
            if(Clients.Count < cfg.MaxClients) AcceptAsync(AcceptAsyncArgs);
        }