Witam,
na początku zaznaczę, że nie jestem najlepszym programistą dlatego potrzebuje pomocy prawdopodobnie w prostej rzeczy mianowicie.
W moim programie mam kilka okien. Funkcja do logowania wygląda mniej więcej tak:
string login = textBox1.Text;
string pass = textBox2.Text;
string uprawnienia="-1";
try
{
TcpClient klient = new TcpClient(host, port);
BinaryWriter writer = new BinaryWriter(klient.GetStream());
BinaryReader reader = new BinaryReader(klient.GetStream());
writer.Write(login);
writer.Write(pass);
uprawnienia = reader.ReadString();
}
Logowanie odbywa się po stronie serwera, który sprawdza w bazie danych czy dany użytkownik istnieje w bazie danych i czy hasło jest poprawne czy nie, a następnie po pozytywnej weryfikacji odsyła zmienna z poziomem logowania, od którego to zależy jakie opcje pojawią się w następnym oknie. Dodatkowo sesja z serwerem nie jest zamykana (ma to być serwer wielowątkowy)
Teraz mam problem z wysłaniem na serwer kolejnych informacji i nie bardzo wiem jak mam teraz w nowej formie zdefiniować klasę BinaryWriter tak bym mógł za jej pomocą wysłać nową wiad. Wyżej zastosowane rozwiązanie mija się z celem ponieważ połączenie z serwerem jest (teoretycznie) aktywne. Proszę o pomoc w poprawnym zdefiniowaniu poniższej funkcji. Błąd jaki mam to
"Element "System.IO.BinaryWriter.BinaryWriter()" jest niedostępny z powodu swojego poziomu ochrony."
private void button2_Click(object sender, EventArgs e)
{
Kasowanie frm = new Kasowanie();
frm.Show();
string zadanie = Convert.ToString(2);
BinaryWriter writer = new BinaryWriter();
// writer.Write(zadanie);
}
Może ktoś również mi doradzić może w jakiś inny sposób wykonywać wymianę danych z serwerem (czy utrzymywać połączenie i przełączać porty dla każdego nowego podłączonego klienta, czy lepiej, by każda wymiana danych z serwerem rozpoczynała się od nowego połączenia). Z góry dziękuje za pomoc.