Пример #1
0
        private void Send_Receive(string barcode)
        {
            FormMenu fm = (FormMenu)this.Owner;

            try
            {
                TcpClient    client = new TcpClient(Z_mXML.ServerIP, Convert.ToInt32(Z_mXML.ServerPort));
                Stream       s      = client.GetStream();
                StreamReader sr     = new StreamReader(s);
                StreamWriter sw     = new StreamWriter(s);
                sw.AutoFlush = true;
                Z_TSD_Message ztm = new Z_TSD_Message(Z_mXML.DeviceId, Z_mXML.ActionNumber, barcode);
                sw.WriteLine(ztm.ToString(Z_mXML.Separator));
                string server_answer = sr.ReadLine();
                if (server_answer.StartsWith("#QUERYGROUP"))
                {
                    server_answer = server_answer.Substring(11);
                    FillComboBox(GroupDefCB, server_answer, Z_mXML.Separator);
                    GroupDefCB.SelectedIndex = 0;
                }
                else
                if (server_answer.StartsWith("#QUERYLIST"))
                {
                    server_answer = server_answer.Substring(10);
                    FillComboBox(TypeDefCB, server_answer, Z_mXML.Separator);
                    TypeDefCB.SelectedIndex = 0;
                }
                else
                if (server_answer.StartsWith("#LOADLOC"))
                {
                    server_answer = server_answer.Substring(8);
                    FillComboBox(LocCB, server_answer, Z_mXML.Separator);
                    LocCB.SelectedIndex = Z_mXML.Location;
                }
                else
                {
                    AnswerTB.Text = server_answer;
                }

                s.Close();
                client.Close();
            }
            catch
            {
                MessageBox.Show("Потеряна связь с серверным приложением.", "Ошибка");
            }
        }
Пример #2
0
        public static Z_TSD_Message ToParams(string buffer, char separator)
        {
            Z_TSD_Message p     = new Z_TSD_Message();
            string        buf   = buffer;
            int           index = 0;

            while (buf.Length > 0 && index < p._params.Length)
            {
                int sep = buf.IndexOf(separator);
                if (sep > 0 && index < p._params.Length - 1)
                {
                    p._params[index] = buf.Substring(0, sep);
                    buf = buf.Substring(sep + 1);
                    index++;
                }
                else
                {
                    p._params[index] = buf;
                    buf = string.Empty;
                }
            }
            return(p);
        }
Пример #3
0
        private void Send_Receive(string barcode)
        {
            try
            {
                IPEndPoint localEP = new IPEndPoint(IPAddress.Parse(Z_mXML.ServerIP), Convert.ToInt32(Z_mXML.ServerPort));
                TcpClient  client  = new TcpClient();
                client.Connect(localEP);
                Stream       s  = client.GetStream();
                StreamReader sr = new StreamReader(s);
                StreamWriter sw = new StreamWriter(s);
                sw.AutoFlush = true;
                Z_TSD_Message ztm = new Z_TSD_Message(Z_mXML.DeviceId, Z_mXML.ActionNumber, barcode);
                sw.WriteLine(ztm.ToString(Z_mXML.Separator));
                string        server_answer = sr.ReadLine();
                Z_TSD_Message answer        = Z_TSD_Message.ToParams(server_answer, '|');
                AnswerTB.Text = answer[0].Replace(";", "\r\n");
                CountTB.Text  = answer[1];
                SumTB.Text    = answer[2];

                if (server_answer.IndexOf('!') != -1 && objNotify != null)
                {
                    objNotify.State = Symbol.Notification.NotifyState.ON;
                    System.Threading.Thread.Sleep(300);
                    objNotify.State = Symbol.Notification.NotifyState.OFF;
                    System.Threading.Thread.Sleep(200);
                    objNotify.State = Symbol.Notification.NotifyState.ON;
                    System.Threading.Thread.Sleep(300);
                    objNotify.State = Symbol.Notification.NotifyState.OFF;
                }
                s.Close();
                client.Close();
            }
            catch
            {
                MessageBox.Show("Потеряна связь с серверным приложением.", "Ошибка");
            }
        }