public String cekajPotez(int idSobe) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); NabaviPaket paket = new NabaviPaket(23); paket.setIdSobe(idSobe); paketZaServer.writeObject(paket); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket paketSKljucem = (NabaviPaket) paketOdServera.readObject(); paketZaServer.close(); paketOdServera.close(); System.out.println("CekajPotez -> " + paketSKljucem.getErr()); return paketSKljucem.getErr(); } 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 null; }
/** * 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"; }
/** * 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 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"; }
public LjudiUSobi dohvatiLjudeUSobi(int idSobe, int kljucKorisnika) { connect(); try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); NabaviPaket paket = new NabaviPaket(16); paket.setIdSobe(idSobe); paket.setKljuc(kljucKorisnika); paketZaServer.writeObject(paket); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); NabaviPaket paketLjudima = (NabaviPaket) paketOdServera.readObject(); paketZaServer.close(); paketOdServera.close(); LjudiUSobi ljudi = new LjudiUSobi(); ljudi.setLjudiUSobi(paketLjudima.getUser().split(",")); ljudi.setMaxLjudi(paketLjudima.getKljuc()); return ljudi; } 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 null; }
/** * 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"; }
/** * Funkcija vraæa korisniku skup njegovih karata. TODO -NAPOMENA2 - OVO KAD JEDAN ZADRAŽI TREBA * BITI BRODCASTANO SVIMA!!! * * @param idKorisnika * @return */ public Potez dohvatiKarte(int idKorisnika) { connect(); Potez paketKarata = null; try { ObjectOutputStream paketZaServer = new ObjectOutputStream(klijentSocket.getOutputStream()); NabaviPaket paket = new NabaviPaket(21); paket.setKljuc(idKorisnika); paketZaServer.writeObject(paket); ObjectInputStream paketOdServera = new ObjectInputStream(klijentSocket.getInputStream()); paketKarata = (Potez) paketOdServera.readObject(); 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 paketKarata; }