Client.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.company;
  2. import java.io.*;
  3. import java.net.Socket;
  4. public class Client extends Thread {
  5. private Socket socket;
  6. private InputStream is;
  7. private OutputStream os;
  8. /**
  9. *
  10. * @param socket сокет клиента
  11. */
  12. public Client(Socket socket) throws IOException {
  13. this.socket = socket;
  14. this.is = this.socket.getInputStream();
  15. this.os = this.socket.getOutputStream();
  16. }
  17. @Override
  18. public void run() {
  19. while (!isInterrupted()) {
  20. try {
  21. ObjectInputStream objectInputStream = new ObjectInputStream(is);
  22. UserMessage userMessage = (UserMessage)objectInputStream.readObject();
  23. switch (userMessage.TYPE) {
  24. case DEPOSIT:
  25. Bank.deposit(userMessage.BALANCE, userMessage.BILL_NUMBER);
  26. break;
  27. case WITHDRAW:
  28. Bank.withdraw(userMessage.BALANCE, userMessage.BILL_NUMBER);
  29. break;
  30. case SIGN_CONTRACT:
  31. Bank.insert(userMessage.PASSPORT, userMessage.PHONE, userMessage.FULLNAME, userMessage.BALANCE);
  32. break;
  33. case BREAK_CONTRACT:
  34. Bank.delete(userMessage.BILL_NUMBER);
  35. break;
  36. }
  37. } catch (ClassNotFoundException | IOException exception) {
  38. System.out.println(exception.getMessage());
  39. interrupt();
  40. }
  41. }
  42. try {
  43. is.close();
  44. os.close();
  45. socket.close();
  46. } catch (IOException exception) {
  47. System.out.println(exception.getMessage());
  48. }
  49. }
  50. }