/** * Funkcija za autorizaciju korisnika. * * @param korisnik * @param zaporka * @return vraæa null ako je autorizacija uspjela inaèe vraæa poruku greške. */ public String login(Igrac korisnik, String zaporka) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); paketZaServer.writeObject( new NabaviPaket(0, korisnik.getIme(), zaporka)); // send serilized payload ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket paketSKljucem = (NabaviPaket) paketOdServera.readObject(); if (paketSKljucem.isIndex(0)) { korisnik.setKljucKorisnika(paketSKljucem.getKljuc()); return null; } else if (paketSKljucem.isIndex(-1)) { return paketSKljucem.getErr(); } paketZaServer.close(); paketOdServera.close(); } catch (IOException ioe) { System.out.println("Iznimka ulaza/izlaza"); System.exit(1); } catch (ClassNotFoundException k) { System.out.println("Dobivena kriva klasa " + k); } finally { close(); } return "Iznimka reda 0"; }
/** * Funkcija koja registrira korisnika na server. * * @param ime * @param zaporka * @param email * @return vraæa "radi" ako je registracija uspjela, inaèe vrati poruku pogreške. */ public String registrirajKorisnika(String ime, String zaporka, String email) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); paketZaServer.writeObject(new NabaviPaket(1, ime, zaporka, email)); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket dolazniPaket = (NabaviPaket) paketOdServera.readObject(); if (dolazniPaket.isIndex(1)) { return "radi"; } else if (dolazniPaket.isIndex(7)) { return dolazniPaket.getErr(); } paketZaServer.close(); paketOdServera.close(); } catch (IOException ioe) { System.out.println("Iznimka ulaza/izlaza"); System.exit(1); } catch (ClassNotFoundException k) { System.out.println("Dobivena kriva klasa " + k); } finally { close(); } return "Iznimka reda 0"; }
/** * Pokreæe DretvaPartija na serveru. * * @param idSobe * @return uspjesno pokrenuta dretva. */ public boolean zapocniIgru(int idSobe) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); NabaviPaket paket = new NabaviPaket(5); paket.setIdSobe(idSobe); paketZaServer.writeObject(paket); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket paketSKljucem = (NabaviPaket) paketOdServera.readObject(); if (paketSKljucem.isIndex(5)) { return true; } else if (paketSKljucem.isIndex(-1)) { return false; } paketZaServer.close(); paketOdServera.close(); } catch (IOException ioe) { System.out.println("Iznimka ulaza/izlaza"); System.exit(1); } catch (ClassNotFoundException k) { System.out.println("Dobivena kriva klasa " + k); } finally { close(); } return false; }
/** * Funkcija za deautorizaciju korisnika * * @param korisnik * @return vraæa null ako je autorizacija uspjela inaèe vraæa poruku greške. */ public String logout(Igrac korisnik) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); NabaviPaket t = new NabaviPaket(6); t.setUser(korisnik.getIme()); paketZaServer.writeObject(t); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket paket = (NabaviPaket) paketOdServera.readObject(); if (paket.isIndex(4)) { return null; } else if (paket.isIndex(-1)) { return paket.getErr(); } paketZaServer.close(); paketOdServera.close(); } catch (IOException ioe) { System.out.println("Iznimka ulaza/izlaza"); System.exit(1); } catch (ClassNotFoundException k) { System.out.println("Dobivena kriva klasa " + k); } finally { close(); } return "Iznimka reda 0"; }