Пример #1
0
 private void DisconnectClientHosts(ConnectionHostData.MainCommunication ReceiveData)
 {
     try
     {
         this.List_DataConnection.Find(this.SelectConnection).DisConnect();
         this.List_DataConnection.RemoveAll(this.SelectConnection);
     }
     catch (Exception ex)
     {
         Errorlog.Print(ex, this);
     }
 }
Пример #2
0
        void client_DataReceived(object sender, byte[] e)
        {
            try
            {
                ConnectionHostData.MainCommunication ReceiveData = new ConnectionHostData.MainCommunication(e);
                this.ReceiveData = ReceiveData;
                switch (ReceiveData.connection_command)
                {
                case ConnectionHostData.MainCommunication.ConnectionCommand.Demand:
                    this.ClientHostAdd();
                    this.NoticeAddedClientHost();
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.End:
                    this.ClientHostDelete(ReceiveData);
                    this.CloseResponse();
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.Connect:
                    this.ConnectClientHosts(ReceiveData);
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.DisConnect:
                    this.DisconnectClientHosts(ReceiveData);
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.ConnectByServerPort:
                    this.ConnectClientHostsByServerPort(ReceiveData);
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.ConnectByUserPort:
                    this.ConnectClientHostsByUserPort(ReceiveData);
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.DisconnectByServerPort:
                    this.DisconnectClientHostsByServerPort(ReceiveData);
                    break;

                case ConnectionHostData.MainCommunication.ConnectionCommand.DisconnectByUserPort:
                    this.DisconnectClientHostsByUserPort(ReceiveData);
                    break;

                default:
                    throw new Exception("There is no command.");
                }
            }
            catch (Exception ex)
            {
                Errorlog.Print(ex, this);
            }
        }
Пример #3
0
 private void ConnectClientHostsByServerPort(ConnectionHostData.MainCommunication ReceiveData)
 {
     try
     {
         if (!(this.List_ClientHosts.Exists(IsSenderByServer) && this.List_ClientHosts.Exists(IsReceiverByServer)))
         {
             return;
         }
         this.List_DataConnection.Add(new DataConnection(this.List_ClientHosts.Find(IsSenderByServer), this.List_ClientHosts.Find(IsReceiverByServer)));
         this.List_DataConnection[this.List_DataConnection.Count - 1].Connect();
     }
     catch (Exception ex)
     {
         Errorlog.Print(ex, this);
     }
 }
Пример #4
0
 private void ConnectClientHosts(ConnectionHostData.MainCommunication ReceiveData)
 {
     try
     {
         if (!(this.List_ClientHosts.Count >= ReceiveData.connection.SenderID && this.List_ClientHosts.Count >= ReceiveData.connection.ReceiverID))
         {
             Report.Print("Indecies are over flow.", this);
             return;
         }
         this.List_DataConnection.Add(new DataConnection(ReceiveData.connection.SenderID, ReceiveData.connection.ReceiverID, this.List_ClientHosts));
         this.List_DataConnection[this.List_DataConnection.Count - 1].Connect();
     }
     catch (Exception ex)
     {
         Errorlog.Print(ex, this);
     }
 }
Пример #5
0
        /// <summary>
        /// stop and remove client
        /// </summary>
        /// <param name="ReceiveData"></param>
        private void ClientHostDelete(ConnectionHostData.MainCommunication ReceiveData)
        {
            try
            {
                if (this.List_Port.Contains(ReceiveData.DeletePort))
                {
                    int id = this.List_Port.IndexOf(ReceiveData.DeletePort);

                    this.CheckAndDisconnectClientsConnection(id);

                    this.List_Port.RemoveAt(id);
                    this.List_ClientHosts[id].Close();
                    this.List_ClientHosts.RemoveAt(id);
                    Report.PrintDateBar(this);
                    Report.Print("Close Port : " + ReceiveData.DeletePort.ToString(), this);
                }
            }
            catch (Exception ex)
            {
                Errorlog.Print(ex, this);
            }
        }
Пример #6
0
 void client_DataReceived(object sender, byte[] e)
 {
     try
     {
         ConnectionHostData.MainCommunication ReceiveData = new ConnectionHostData.MainCommunication(e);
         this.ReceiveData = ReceiveData;
         switch (ReceiveData.connection_command)
         {
             case ConnectionHostData.MainCommunication.ConnectionCommand.Demand:
                 this.ClientHostAdd();
                 this.NoticeAddedClientHost();
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.End:
                 this.ClientHostDelete(ReceiveData);
                 this.CloseResponse();
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.Connect:
                 this.ConnectClientHosts(ReceiveData);
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.DisConnect:
                 this.DisconnectClientHosts(ReceiveData);
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.ConnectByServerPort:
                 this.ConnectClientHostsByServerPort(ReceiveData);
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.ConnectByUserPort:
                 this.ConnectClientHostsByUserPort(ReceiveData);
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.DisconnectByServerPort:
                 this.DisconnectClientHostsByServerPort(ReceiveData);
                 break;
             case ConnectionHostData.MainCommunication.ConnectionCommand.DisconnectByUserPort:
                 this.DisconnectClientHostsByUserPort(ReceiveData);
                 break;
             default:
                 throw new Exception("There is no command.");
         }
     }
     catch (Exception ex)
     {
         Errorlog.Print(ex, this);
     }
 }