public int login()
{
if (log == "" || haslo == "") return -2;
try
{
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
IPAddress remoteIPAddress = System.Net.IPAddress.Parse(serverIP);
IPEndPoint remoteEndPoint = new System.Net.IPEndPoint(remoteIPAddress, serverPort);
socket.Connect(remoteEndPoint);
}
catch (Exception)
{
throw new Wyjatki.BladPolaczenia("Blad podczas laczenia do serwera. Sprawdz adres oraz port");
}
try
{
StringWriter stringWriter = new StringWriter();
klientLogowanie logowanie = new klientLogowanie(log, haslo, ASS8___Logowanie.wersja);
XmlSerializer xml = new XmlSerializer(typeof(klientLogowanie));
xml.Serialize(stringWriter, logowanie, names);
string stR = stringWriter.ToString() + endl;
wyslij(ASCIIEncoding.ASCII.GetBytes(stR), stR.Length);
}
catch (Exception)
{
throw new Wyjatki.BladWysylania("Blad podczas wysylania danych na serwer. Sprawdz polaczenie z internetem, oraz ewentualnie ustaw proxy -- zapytanie o logowanie");
}
string str;
try
{
str = pobierz();
}
catch (Wyjatki.BladOdbierania bo)
{
bo.add("-- odpowiedz logowania");
throw bo;
}
catch (Exception)
{
throw new Wyjatki.BladNieokreslony("Nieokreslony blad programu -- odpowiedz logowania");
}
serwerLogowanie odpSerwera = new serwerLogowanie();
try
{
XmlSerializer xml = new XmlSerializer(typeof(serwerLogowanie));
StringReader stringReader = new StringReader(str);
odpSerwera = (serwerLogowanie)xml.Deserialize(stringReader);
}
catch (Exception)
{
throw new Wyjatki.BladParsowania("Dostano bledne dane od serwera lub nastapil blad programu -- deserializacja odpowiedzi o logowanie");
}
if (odpSerwera.odpowiedz == 1)
{
throw new Wyjatki.BladNieokreslony("Bledny login lub haslo");
}
if (odpSerwera.odpowiedz == 0)
sessionID = odpSerwera.sesja;
return odpSerwera.odpowiedz;
}