/// <summary> /// Loguje do serwera /// </summary> /// <returns>Zwraca odpowiedz od serwera</returns> 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; }