Partage
  • Partager sur Facebook
  • Partager sur Twitter

Android-Temps d'exécution

Temps d'exécution

Sujet résolu
    29 mai 2013 à 10:56:45

    Bonjour,
    Je travaille sur Android et j'essaye d'envoyer et recevoir les données en utilisant les sockets.
    L'emossion se passe sans problèmes mais lors de la réception le programme prend beaucoup de temps (environ 1m30) pour me fournir la réponse.
    Aidez moi SVP pour accélérer ce traitement.
    SVP c'est urgent.
    Merci.
    public class EnvoiTrame {
    	static byte[] reponse;
    	public static void Envoi(byte[] mess) throws UnknownHostException, IOException, InterruptedException{
    		Socket s=new Socket ("192.168.0.124",502);
    		//ServerSocket svr=new ServerSocket(502);
    		//Socket s1=svr.accept();
    		 BufferedReader in = null;
    		InputStreamReader isr=new InputStreamReader(s.getInputStream());
            in = new BufferedReader(isr);
    		s.getOutputStream().write(mess);
    		s.getOutputStream().flush();
    		//Log.e("nbre",Integer.toString(in.read()));
    		reponse=in.readLine().getBytes();
    	   // Log.e("echo: ",in.readLine().toString());
    		Log.e("rep",reponse.toString());
    		
    	    s.close();
    	    //s1.close();
    	    in.close();
    	    
    	}}
    • Partager sur Facebook
    • Partager sur Twitter
      29 mai 2013 à 11:52:19

      As-tu déjà fait ton traitement de manière asynchrone (Asynctask ou thread) pour voir la différence de temps ?

      Si c'est possible essaye de couper ton traitement sur plusieurs threads pour optimiser le traitement.

      • Partager sur Facebook
      • Partager sur Twitter
      "Comme la lune, agrandis-toi toi-même, Soit un homme, non un morceau d'argile." Iqbal.
        30 mai 2013 à 10:46:44

        Merci.
        Je suis arrivé à résoudre ce problème.
        C'est une solution pas trés pro mais elle fonctionne.
        Voici le code:
        public class EnvoiTrame {
        	static String reponse;
        	public static void Envoi(byte[] mess) throws UnknownHostException, IOException, InterruptedException{
        
        		Socket s=new Socket ("192.168.0.124",502);
        		Socket s1=new Socket("192.168.0.124",502);
        		Log.e("TCP","Connectig");
        		s.getOutputStream().write(mess);
        		Log.e("TCP","Sent");
        		s.getOutputStream().flush();
        		s.close();
        		InputStreamReader isr=new InputStreamReader(s1.getInputStream());
        		BufferedReader in=new BufferedReader(isr);
        		String reponse=in.toString();
        		Log.e("TCP",reponse);
        	    isr.close();
        	    in.close();
        	    s1.close();
        
        	}
        }
        • Partager sur Facebook
        • Partager sur Twitter

        Android-Temps d'exécution

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown