예제 #1
0
        /// <summary>
        /// Парсим запрос, получаем stationId проверяем есть ли такой в списке, если нет оздаем
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void server_OnDataRecieve(object sender, DataRecieveArgs e)
        {
            //если ведется опрос продолжаем инче выходим из функции
            if (inWorkFlag)
            {
                byte[] data     = null;
                byte[] response = null;
                try
                {
                    Socket socket = (Socket)sender;
                    data = e.Data;
                    this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Запрос: " + Logger.BytePrinter(data), msgStatus.Recived });
                    //Получение ответа
                    //ответ может быть с кодом ошибки, пустым, или валидным
                    response = GetResponsMessage(data);

                    if (response != null)
                    {
                        if (inWorkFlag && (socket.Connected) && server.isOnline && (server != null))
                        {
                            server.sendPackage(response, socket);
                            this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ответ: " + Logger.BytePrinter(response), msgStatus.Send });
                        }
                        else
                        {
                            this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Сервер или клиент отключены, опрос не производится", msgStatus.Common });
                        }
                    }
                    else
                    {
                        this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ответ: ошибка", msgStatus.Error });
                    }
                }
                catch (Exception ex)
                {
                    this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ошибка в блоке обработки запроса" + ex.Message, msgStatus.Error });
                    return;
                }
            }
            else
            {
                return;
            }
        }
예제 #2
0
        /// <summary>
        /// Парсим запрос, получаем stationId проверяем есть ли такой в списке, если нет оздаем
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void server_OnDataRecieve(object sender, DataRecieveArgs e)
        {
            //если ведется опрос продолжаем инче выходим из функции
            if (inWorkFlag)
            {
                byte[] data = null;
                byte[] response = null;
                try
                {
                    Socket socket = (Socket)sender;
                     data = e.Data;
                    this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Запрос: " + Logger.BytePrinter(data), msgStatus.Recived });
                   //Получение ответа
                    //ответ может быть с кодом ошибки, пустым, или валидным
                  response=GetResponsMessage(data);

                  if (response != null)
                  {
                      if (inWorkFlag && (socket.Connected) && server.isOnline && (server!=null))
                      {
                          server.sendPackage(response, socket);
                          this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ответ: " + Logger.BytePrinter(response), msgStatus.Send });
                      }
                      else
                      {
                          this.BeginInvoke(new SetTextCallback(SetText), new object[] {"Сервер или клиент отключены, опрос не производится", msgStatus.Common });
                      }
                  }
                  else
                  {
                      this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ответ: ошибка" , msgStatus.Error });
                  }

                }
                catch (Exception ex)
                {
                    this.BeginInvoke(new SetTextCallback(SetText), new object[] { "Ошибка в блоке обработки запроса" + ex.Message, msgStatus.Error });
                    return;
                }

            }
            else
            {
                return;
            }
        }