Witam. Konwertowałem juz wiele razy, ale takiego błędu w życiu nie widziałem :/. Podaję kod:
TcpListener t = new TcpListener(er);
t.Start();
TcpClient tt = t.AcceptTcpClient();
NetworkStream nff = tt.GetStream();
Byte[] yesorno = new Byte[32];
while (true)
{
if (nff.DataAvailable)
{
nff.Read(yesorno, 0, 32);
break;
}
}
string yesno = Encoding.Unicode.GetString(yesorno);
if (yesno == "Valid")
{
MessageBox.Show("Prawidłowe dane.", "Logowanie", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if ("Invalid" == yesno)
{
MessageBox.Show("Nieprawidłowe dane!", "Logowanie", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Widać, że odbieram w nim dane, które informują klienta, czy dane przedstawione przez niego są prawidłowe. Niestety, gdy podaję prawidłowe dane (wiem, bo bawiłem się tu MessageBox i wyświetlałem przysłaną zawartość), wartość zmiennej yesno wynosi "Valid", jednak yesno nie jest równe "Valid" :/. Gdy kombinowałem troszkę, to mnie jedno zdziwiło:
MessageBox.Show(yesno + "|");
MessageBox.Show("Valid" + "|");
Po pierwszej komendzie powinno zwrócić nam komunikat z tekstem "Valid|", jednak zwraca "Valid", a przy drugiej komendzie "Valid|". Wie ktoś co się za tym kryje?? Możliwe, że to przez za dużą ilość zmiennych w tabeli yesorno?
P.S.: Zauważyłem przed chwilą, że jak mam komendę:
MessageBox.Show(yesno + "Valid");
To zwraca tylko samo "Valid" :/.