Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. public void start() throws IOException {
  2. // ================================
  3. // A implementar
  4. // ================================
  5.  
  6.  
  7. try {
  8. serverSocket = new ServerSocket(PORT);
  9.  
  10. while(!end){
  11. clientSocket = serverSocket.accept();
  12. //processem la petició del client.
  13. proccesClientRequest(clientSocket);
  14. //tanquem el socket temporal per atendre el client
  15.  
  16. }
  17. //tanquem el socket principal
  18. if(serverSocket!=null && !serverSocket.isClosed()){
  19. //serverSocket.close();
  20. }
  21.  
  22. } catch (IOException ex) {
  23. System.out.println("Excepció; "+ ex);
  24. }
  25.  
  26. }
  27.  
  28. private void proccesClientRequest(Socket clientSocket) {
  29.  
  30.  
  31. try {
  32. in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  33. out= new PrintStream(clientSocket.getOutputStream());
  34. //processem el missatge del client i generem la resposta.
  35. NomJugador=in.readLine();
  36. Byte dataToSend = processData(NomJugador);
  37. out.println(dataToSend);
  38. out.flush();
  39. System.out.println(dataToSend.intValue());
  40. if (dataToSend.intValue()==Constants.OK){
  41. out.println(jug.getCodi());
  42. out.flush();
  43. mPartida.comunicaATotsElsJugadorsEstatPartida();
  44. }
  45. } catch (IOException ex) {
  46. Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
  47. }
  48. }
  49.  
  50. private Byte processData(String NomJugador) {
  51. Byte byteToSend;
  52. if(NomJugador.length()==0){
  53. byteToSend = Constants.ERROR;
  54. }else{
  55. if (mPartida.acceptaJugadors()){
  56. byteToSend = Constants.OK;
  57. try {
  58. jug = new Jugador(NomJugador,clientSocket,mPartida);
  59. mPartida.afegirJugador(jug);
  60. Thread t = new Thread(jug);
  61. t.start();
  62.  
  63. } catch (IOException ex) {
  64. Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
  65. }
  66. }else {
  67. byteToSend = Constants.ERROR;
  68. }
  69. }
  70. return byteToSend;
  71.  
  72. }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement