У меня есть один TELNET SERVER здесь, и эта программа Vessel v1.0 для СССР является клиентом, она будет подключена к серверу telnet, серверу telnet-сервера SPAMS, я имею в виду отправку данных очень быстро для клиента.Обработка строк не может идти в ногу с розетками
(Ну, первоначально сервер Telnet является микроконтроллер, который считывает 5 датчиков и данные будут отправлены обратно клиенту, так что это должно быть довольно медленнее, чем C# программа телнет сервер я использую в качестве замены)
Проблема в том, что я использую регулярное выражение для разделения строки, поступающей с сервера.
Строка должна быть такой: Q0.00W0.10X0.30Y0.44Z99.00, вы видите, я стираю Q/W/X/Y/Z, а затем сохраняю значения в строковом массиве и затем распечатайте их на 5 ярлыков, но я получаю эту ошибку, см. снимок экрана ниже. Я добавил большое текстовое поле для целей отладки. Смотрите мой код в получении строки через Telnet:
public void OnAddMessage(string sMessage)
{
//Q0.00W0.10X0.30Y0.44Z99.00
string[] lines = Regex.Split(sMessage, "\r\n");
foreach (string line in lines)
{
Console.WriteLine(line);
valuesStr[ctr2] = line;
ctr2++;
}
ctr2 = 0;
m_lbRecievedData.Items.Add(sMessage);
tempVal.Text = valuesStr[4]+ "°C";
frontVal.Text = valuesStr[0];
backVal.Text = valuesStr[1];
leftVal.Text = valuesStr[2];
rightVal.Text = valuesStr[3];
}
почему вы используете Regex.Split вместо String.Split или, возможно, даже StringReader.ReadLine? – Pawel
Какая ошибка? Снимок экрана не объясняет, что происходит. – Setsu
Одна вещь, которую я бы вынул, - 'Console.WriteLine()'; если этот метод действительно называется быстрым, то IO не является хорошей идеей. – Setsu