Jump to content

[Android] Problème connexion client/serveur


Mali44

Recommended Posts

Bonjour,

J'essaye actuellement de créer une connexion entre un serveur (PC) et une application Android (client). Je voudrais faire en sorte que dans l'application, je puisse vérifier de manière continue si je reçois des messages du serveur (même si l'application est fermée..). Et dès que je reçois un message, je voudrais pouvoir répondre au message en cliquant sur un bouton ou bien automatiquement dès la réception du message. Pour cela, je pense qu'il faut que je créer une classe fille dans mon activité principal avec Asynctask. Cependant, je ne comprend pas trop comment fonctionne Asynctask. JE ne vois pas à quoi correspond la fonction OnPostExecute.  

Voici le code de ma classe fille (qui est appelée par new Client().execute(); dans la fonction onCreate de mon activité principale. 

class Client extends AsyncTask<Void,Void,String>{
        PrintWriter out;
        string res;
        int numPort = 1500;
        //InetAddress ipaddress;
        Socket client;
        BufferedReader in;
          
          
        // methode pour envoyer des données au serveur
        void envoyer(string res) throws IOException{
            this.out.println(res);
        }
         
         
        public String doInBackground(Void...params){        
             try {
                client = new Socket("10.0.2.2", numPort);
                in = new BufferedReader(new InputStreamReader(client.getInputStream()));
                out = new PrintWriter(client.getOutputStream(), true);
                

               //permet de verifier si je reçois un message  
                while( (res=in.readLine()) != null){
                            String time_arbitraire = "test";       
                            envoi(time_arbitraire); 
                 }
                    
                }catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
             return res;
        }
         
        public void onPostExecute(String result){
              
             }
        }
         
    }

Merci d'avance pour votre aide,

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...