/// <summary>
        /// Конструктор коммуникатора
        /// </summary>
        public Communicator()
        {
            // TO DO Переделать под конфигуратор
            localIP               = IPAddress.Parse(Settings.Default.localIP);
            remoteIP              = IPAddress.Parse(Settings.Default.remoteIP);
            localReceivingPort    = Convert.ToInt16(Settings.Default.localReceivingPort);
            remoteReceivingPort   = Convert.ToInt16(Settings.Default.remoteReceivingPort);;
            localSendingPort      = Convert.ToInt16(Settings.Default.localSendingPort);
            remoteSendingPort     = Convert.ToInt16(Settings.Default.remoteSendingPort);
            hostType              = (HostType)Enum.Parse(typeof(HostType), Settings.Default.hostType);
            ExchangePeriod        = Convert.ToInt16(Settings.Default.netExchangePeriod);
            communicationMode     = (CommunicationMode)Enum.Parse(typeof(CommunicationMode), Settings.Default.communicationMode);
            localApplicationName  = "Source";
            remoteApplicationName = "Target";
            state = CommunicatorState.stoped;

            transceiver = new UDPTransceiver(localIP, localReceivingPort, localSendingPort, remoteIP, remoteSendingPort, remoteSendingPort);

            // Создаем пустой список параметров.
            Parameters = new List <Parameter>();
            // Создаем поток для работы обменника
            if (hostType == HostType.Slave)
            {
                NetworkThread = new Thread(ListenNetworkSlave);
            }
            else
            {
                NetworkThread = new Thread(ListenNetworkMaster);
            }
            InputParameterChanged += (s, e) => hasInputParameterChanged = true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Конструктор коммуникатора
        /// </summary>
        public Communicator()
        {
            /* localIP = IPAddress.Parse(Settings.Default.localIP);
             * remoteIP = IPAddress.Parse(Settings.Default.remoteIP);
             * localReceivingPort = Convert.ToInt16(Settings.Default.localReceivingPort);
             * remoteSendingPort = Convert.ToInt16(Settings.Default.remoteSendingPort);
             *
             * inputPackageSize = Convert.ToUInt16(Settings.Default.inputPackageSize);
             * //InputPackage.RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
             */
            localIP            = IPAddress.Parse(Properties.Settings.Default.localIP);
            remoteIP           = IPAddress.Parse(Properties.Settings.Default.remoteIP);
            localReceivingPort = Convert.ToInt16(Properties.Settings.Default.localReceivingPort);
            remoteSendingPort  = Convert.ToInt16(Properties.Settings.Default.remoteSendingPort);
            localSendingPort   = Convert.ToInt16(Properties.Settings.Default.localSendingPort);

            inputPackageSize  = Convert.ToUInt16(Properties.Settings.Default.inputPackageSize);
            this.InputPackage = new InputPackage(inputPackageSize);

            state = CommunicatorState.stoped;

            DataReceived += new EventHandler <EventArgs>(NotifyMediator);



            // Создаем поток для работы обменника
            ReceiverThread = new Thread(ListenNetwork);
            //TransmitterThread = new Thread(SendState);
        }
 /// <summary>
 /// Запускает в работу обменник
 /// </summary>
 public void Start()
 {
     state = CommunicatorState.active;
     if (NetworkThread.ThreadState == ThreadState.Aborted)
     {
         SetNetworkThread();
     }
     NetworkThread.Start();
 }
Exemplo n.º 4
0
        /// <summary>
        /// Запускает в работу обменник
        /// </summary>
        public void Start()
        {
            if (transceiver == null)
            {
                transceiver = new UDPTransceiver(localIP, localReceivingPort, remoteIP, remoteSendingPort);
            }
            ReceiverThread = new Thread(ListenNetwork);
            state          = CommunicatorState.active;
            ReceiverThread.IsBackground = true;

            if (!ReceiverThread.IsAlive)
            {
                ReceiverThread.Start();
            }
        }
 /// <summary>
 /// Останавливает работу обменника
 /// </summary>
 public void Stop()
 {
     state = CommunicatorState.stoped;
     NetworkThread.Abort();
 }
Exemplo n.º 6
0
 /// <summary>
 /// Останавливает работу обменника
 /// </summary>
 public void Stop()
 {
     state = CommunicatorState.stoped;
     ReceiverThread.Abort();
 }