private void Listen_Text(object service) { Boolean serv = (Boolean)service; while (allow == true) { String message; //Console.WriteLine("nasluch"); if (serv) { message = communicationT.Receive_Text(Network.inputCloud); //odczytuje w trybie ciaglym ze strumieni wejsciowych if (message != null) { handler(message, true); } message = null; //od razu czyszczenie } else { message = communicationT.Receive_Text(Network.inputControl); if (message != null) { handler(message, false); } message = null; //od razu czyszczenie } } }
private void Listen_Text(object service) { StringBuilder word; StringBuilder digits; Boolean serv = (Boolean)service; Boolean x = true; while (x == true) { word = null; digits = null; String message; word = new StringBuilder(); //potrzebne do rozpoznawania polecen digits = new StringBuilder(); //Console.WriteLine("nasluch"); if (!serv) { message = communicationT.Receive_Text(Network.inputControl); //odczytuje w trybie ciaglym ze strumieni wejsciowych } else { message = communicationT.Receive_Text(Network.inputCloud); x = false; } String digitsT = null; if ((!serv) && (message != "")) { Console.WriteLine("SZ: " + message); } else if ((serv) && (message != "")) { Console.WriteLine("CC: " + message); } foreach (String s in Regex.Split(message, "[0-9 ' ' ^ $]")) //jesli wykryje litery, wywalone tez spacje { word.Append(s); } foreach (String s in Regex.Split(message, "[a-z_ ' ' ^ $]")) //jesli cyfry i znaki _ , wywalone tez spacje { digits.Append(s); } message = word.ToString(); digitsT = digits.ToString(); //Console.WriteLine("litery: "+message); //Console.WriteLine("cyfry: "+digitsT); switch (message) { case Protokol.CONF: command[0] = message; break; case Protokol.ERR: command[10] = message; break; case Protokol.SET: command[connections] = digitsT; if (checkConf()) { SetConf(); } break; case Protokol.DISCON: command[9] = digitsT; Disconnect(); break; case Protokol.CONV: command[6] = digitsT; Conversion(); break; default: if (!serv) { Console.WriteLine("błędne polecenie od SZ."); } else { Console.WriteLine("błędne polecenie od CC"); } break; } } }