Não está havendo a comunicação entre servidor e cliente

cliente:

public class RadioCliente extends JFrame {

JRadioButton[] radio = new JRadioButton[22];
JRadioButton[] radio2 = new JRadioButton[22];
Socket socket;
PrintWriter escritor;
String jogador;


public RadioCliente(String nome1, String  time1[], String nome2,
		String time2[]) {
	
	
	
	JPanel c1 = new JPanel();
	c1.setLayout(new GridLayout(23,1));
	JLabel nome11 = new JLabel(nome1);
	nome11.setFont(new Font("Serif", Font.BOLD, 23));
	c1.add(nome11);
	
	for(int i =0; i < time1.length; i++){
	String temp = time1[i];
	radio[i] = new JRadioButton(temp);
	radio[i].addItemListener(new CheckListener());
	c1.add(radio[i]);}
	
	JPanel c2 = new JPanel();
	c2.setLayout(new GridLayout(23,1));
	JLabel nome22 = new JLabel(nome2);
	nome22.setFont(new Font("Serif", Font.BOLD, 23));
	c2.add(nome22);
	
	for(int i =0; i < time2.length; i++){
		String temp = time2[i];
		radio2[i] = new JRadioButton(temp);
		radio2[i].addItemListener(new CheckListener());
		c2.add(radio2[i]);}
	
	getContentPane().add(BorderLayout.WEST, c1);
	getContentPane().add(BorderLayout.EAST, c2);

	configurarRede();

	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setSize(500, 500);
	setVisible(true);
}

private class EnviarListener implements java.awt.event.ActionListener{

	

	@Override
	public void actionPerformed(ActionEvent e) {
		escritor.println(jogador);
		escritor.flush();
		
	}
	
}


public void configurarRede(){
	try{
		socket = new Socket("127.0.0.1", 5000);
	   escritor = new PrintWriter(socket.getOutputStream());
	   
	   
} catch (Exception e){}
}



public static void main(String[] args) {
	String nome1 = JOptionPane.showInputDialog("Coloque o nome do time 1:");
	String time1[] = new String[22];

	String controle = "";
	int i = 0;
	
	while (!controle.equals("z") && i < 22){
		controle = JOptionPane
				.showInputDialog("Coloque os jogadores do time1 ou digite 'z' para terminar: ");
		if(!controle.equals("z")){
			 time1[i] = controle;
			 i++;
			 continue;
			 }
		i++;
		break;

	} 

	String nome2 = JOptionPane.showInputDialog("Coloque o nome do time 2:");
	String time2[] = new String[22];

	String controle2 = "";
	i = 0;
	while (i < 22) {

		controle2 = JOptionPane
				.showInputDialog("Coloque os jogadores do time2 ou digite 'z' para terminar: ");
		if(!controle2.equals("z")){
		 time2[i] = controle2;
		 i++;
		 continue;
		 }
		
		break;
	}
	
	new RadioCliente(nome1, time1, nome2, time2);

}

class CheckListener implements ItemListener {

	@Override
	public void itemStateChanged(ItemEvent e) {
		for(int i=0; i <22; i++ ){
		if(radio[i].isSelected()){
			jogador = radio[i].getText();
			radio[i].setSelected(false);
		}
		else{
			for(i=0; i <22; i++ ){
				if(radio2[i].isSelected()){
					jogador = radio2[i].getText();
					radio2[i].setSelected(false);
				}
		}
	}
	}
	}
	
}

}

servidor:

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

import javax.swing.JOptionPane;

public class RadioServidor {

//public Scanner leitor;

public RadioServidor() {

	ServerSocket server;

	try {
		server = new ServerSocket(5000);
		while (true) {
			Socket socket = server.accept();
			new Thread(new EscutaCliente(socket)).start();
			//PrintWriter p = new PrintWriter(socket.getOutputStream());
			
		}
	} catch (IOException e) {
	}
}

public class EscutaCliente implements Runnable {
Scanner leitor;

public EscutaCliente(Socket socket) {
	try {
		leitor = new Scanner(socket.getInputStream());
	} catch (Exception e) {
	}

}

public void run() {
try {
String texto;

		while ((texto= leitor.nextLine()) != null) {
			JOptionPane.showMessageDialog(null, "Jogador que está com a bola: " + texto);
			
		}
	} catch (Exception x) {}
	

}

}

public static void main(String[] args) {
	new RadioServidor();

}


	
}