Esempio n. 1
0
        //_________________________________________________________________________
        /// <summary>
        /// Обработка ответа от прибора
        /// </summary>
        private void RecieveDataPassive(IAsyncResult ar)
        {
            try
            {
                if (ar.IsCompleted == false)
                {
                    return;
                }
                CTCPclient ClientCurr = ar.AsyncState as CTCPclient;
                if (ClientCurr == null)
                {
                    return;
                }
                NetworkStream Stream = ClientCurr.Stream;
                if (Stream != null)
                {
                    int iLenRX = Stream.EndRead(ar);
                    if (iLenRX == 0)
                    {
                        Stream.Close();
                        return;
                    }

                    EvSendAnswerToServer?.Invoke(ClientCurr.BufRX, iLenRX);
                    Inv_OutMess($"Прибор: {Global.ByteArToStr (ClientCurr.BufRX, 0, iLenRX)} [{Global.BytesToInt_Char (ClientCurr.BufRX, iLenRX)}");                     //{CBIP2.Text}
                }
            }
            catch (Exception exc)
            {
                Inv_OutMess($"RecieveDataPassive: {exc.Message}{Environment.NewLine}{exc.StackTrace}");
            }
        }
Esempio n. 2
0
 //_________________________________________________________________________
 private void ClientClose()
 {
     if (Client != null)
     {
         Client.Close();
         Client = null;
     }
 }
Esempio n. 3
0
 private void BConnect2_Click(object sender, EventArgs e)
 {
     try
     {
         if (bConnClient == false)
         {
             if (Client == null)
             {
                 Client = new CTCPclient();
             }
             ThreadPool.QueueUserWorkItem((Object oInfo) =>
             {
                 string asIP = (string)oInfo;
                 Inv_OutMess($"Подключение к {asIP} ...");
                 bConnClient = Client.Connect(asIP, (int)UDPort2.Value);
                 if (bConnClient)
                 {
                     SetTextB(BConnect2, "Разъединить");
                     Inv_OutMess($"Подкл. {asIP}");
                     if (bAddPassiveIP)
                     {
                         Properties.Settings.Default.asIPpassiveList = String.Join(";", Properties.Settings.Default.asIPpassiveList, CBIP2.Text);
                     }
                 }
                 else
                 {
                     Inv_OutMess($"Соединение с {asIP} не установлено");
                 }
             }
                                          , CBIP2.Text);
         }
         else
         {
             ClientClose();
             BConnect2.Text = "Соединить";
             Inv_OutMess($"Откл. {CBIP2.Text}");
             bConnClient = false;
         }
     }
     catch (Exception exc)
     {
         Inv_OutMess($"{CBIP2.Text}: {exc.Message}{Environment.NewLine}{exc.StackTrace}");
     }
 }