|  | @@ -0,0 +1,54 @@
 | 
	
		
			
				|  |  | +package com.company;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.io.IOException;
 | 
	
		
			
				|  |  | +import java.io.InputStream;
 | 
	
		
			
				|  |  | +import java.io.OutputStream;
 | 
	
		
			
				|  |  | +import java.net.Socket;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +public class Client extends Thread {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private Socket socket;
 | 
	
		
			
				|  |  | +    private List<Client> clientList;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public Client(Socket socket, List<Client> clientList) {
 | 
	
		
			
				|  |  | +        this.socket = socket;
 | 
	
		
			
				|  |  | +        this.clientList = clientList;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void run() {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        byte[] data = new byte[2048];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        while (!isInterrupted()) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            try {
 | 
	
		
			
				|  |  | +                InputStream is = socket.getInputStream();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                is.read(data);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                System.out.println(new String(data));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                for (Client client : clientList) {
 | 
	
		
			
				|  |  | +                    // Отправить сообщение
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    if (client.socket != this.socket) {
 | 
	
		
			
				|  |  | +                        OutputStream os = client.socket.getOutputStream();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        os.write(data);
 | 
	
		
			
				|  |  | +                        os.flush();
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            } catch (IOException exception) {
 | 
	
		
			
				|  |  | +//                exception.printStackTrace();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                System.out.println(socket.getInetAddress().getHostAddress() + " disconnected");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                clientList.remove(this);
 | 
	
		
			
				|  |  | +                interrupt();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |