@Override
	public boolean disconnect() {
		
		if(!isConnected())
			return true;
		
		try {
			
			socket.leaveGroup(socket.getInetAddress());
			socket.disconnect();
			socket.close();
			
			connected = false;
			
			return true;
			
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	
	}