Client.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.company;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.io.OutputStream;
  5. import java.net.Socket;
  6. import java.util.List;
  7. public class Client extends Thread {
  8. private Socket socket;
  9. private List<Client> clientList;
  10. public Client(Socket socket, List<Client> clientList) {
  11. this.socket = socket;
  12. this.clientList = clientList;
  13. }
  14. @Override
  15. public void run() {
  16. byte[] data = new byte[2048];
  17. while (!isInterrupted()) {
  18. try {
  19. InputStream is = socket.getInputStream();
  20. is.read(data);
  21. System.out.println(new String(data));
  22. for (Client client : clientList) {
  23. // Отправить сообщение
  24. if (client.socket != this.socket) {
  25. OutputStream os = client.socket.getOutputStream();
  26. os.write(data);
  27. os.flush();
  28. }
  29. }
  30. } catch (IOException exception) {
  31. // exception.printStackTrace();
  32. System.out.println(socket.getInetAddress().getHostAddress() + " disconnected");
  33. clientList.remove(this);
  34. interrupt();
  35. }
  36. }
  37. }
  38. }