Erreur:Address already in use: JVM_Bind

Fermé
asmalak Messages postés 8 Date d'inscription samedi 14 mars 2015 Statut Membre Dernière intervention 24 avril 2015 - 24 avril 2015 à 14:04
Bonjour,
j'ai entrain de développer une application qui comporte deux patrie client et serveur , on doit envoyer un fichier xml du coté client vers serveur, et aprés un traitement par le serveur , ce dernier doit envoyer un fichier exécutable '*.apk', pour cela on a utilisé les sockets . tout ça passe bien . mais pour qu'il soit plus utilisable on a ajouté un interface graphique avec deux boutons "connect" et déconnect" , on veux lors de la clique sur "connect " le serveur peut toujours recevoir des fichiers de plusieurs clients .Si on clique sur "déconnect" la connexion doit achevé . mais j'ai un problème qui est indiqué dans la capture ci_dessous :


public class Serveur {

static int connect=0;

static String cheminFichiers="C:/Users/asma/fichiersPfe/";
//cheminFichiers contient les fichiers fichier.bat,compile.bat et les images pour Drawable
public static void main(String[] args) throws IOException, InterruptedException {

new Interface().setVisible(true);

while(true){
while(connect==1){
System.out.println("***debut class serveur***");

//recevoir le fichier xml du client
ReceptionFichierXml.lancer();

// un traitement par serveur
// ......
//compiler en ligne de commande
Compilation.apk();


//envoyer apk vers application android
Envoie_apk_generer_socket.lancer();
}
}

}

}


</code>
la classe Envoie_apk_geneer_socket:
public static void lancer(){


try{
ServerSocket ss = new ServerSocket(4000);

System.out.println("Running............");


Socket s = ss.accept();

System.out.println("accept");
FileInputStream fis = new FileInputStream(CreateProject.chemin1+"/bin/MainActivity-debug.apk");
byte [] buffer = new byte[fis.available()];
fis.read(buffer);
ObjectOutputStream oos = new ObjectOutputStream(s.getOutputStream());
oos.writeObject(buffer);
oos.close();
s.close();

}catch (NumberFormatException e){
e.printStackTrace();
}catch (UnknownHostException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}






}