asmalak
Messages postés8Date d'inscriptionsamedi 14 mars 2015StatutMembreDernière intervention24 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();