Bonjour,

Je développe une application dans laquelle j'arrive à envoyer des données en UDP au serveur (PC) en cliquant sur un bouton qui fait appelle a une classe qui extends AsyncTask. Cependant, je ne parviens pas à recevoir de données.
Je voudrais pouvoir écouter en permanence l'arrivée de nouveaux messages donc j'ai fait une classe fille qui extends AsyncTask et que j'appelle dans la méthode oncreate() de mon application en faisant : client = new Client();
client.execute();


Voici ma classe fille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 class Client extends AsyncTask<Void,Void,String>{
 
		 DatagramSocket client;
		 String test ;
 
 
    	public String doInBackground(Void...params){ 		 
       		String result=null;
    		int port=4000;
 
       		DatagramSocket clientSocket = null;
	       	byte[] receiveData = new byte[256];
	       	DatagramPacket packet = new DatagramPacket(receiveData, receiveData.length);
	       		try{ 
	       			InetAddress adresse = InetAddress.getByName("10.0.2.2");
	       			clientSocket = new DatagramSocket(port);
	       			clientSocket.receive(packet);
	       			result = new String(packet.getData());
	       			Thread.sleep(100);
	       			Log.d("","Received :) ");
 
       		}catch (Exception e) {
       			e.printStackTrace();
 
    		} finally {
	            if (clientSocket != null) {
	            	clientSocket.close();	          
	            }
    		}
    		 return result;
    	}
 
 
    	public void onPostExecute(String result){ 
             if (result != null) {
            		 TextView tv = (TextView) MainActivity.this.findViewById(R.id.textView1);
		             tv.setText(result);
             }
    	}
    }

Mon serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package serveurudp;
 
import java.net.*;
import java.io.*;
 
public  class serveur {
 
	public static void main(String args[]) throws Exception       {   
	       DatagramSocket serverSocket = new DatagramSocket(4000);          
	       byte[] receiveData = new byte[1024];          
	       byte[] sendData = new byte[256];           
	       while(true) {              
	    	   /*DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);                 
	    	   serverSocket.receive(receivePacket);              
	    	   String sentence = new String( receivePacket.getData());                 
	    	   System.out.println("RECEIVED: " + sentence);            
	    	     */        
	    	   int port=4000;
		       InetAddress adresse = InetAddress.getByName("10.0.2.2");        
	    	   String capitalizedSentence = "Coucou";   
	    	   sendData = capitalizedSentence.getBytes();    
	    	   DatagramPacket sendPacket =  new DatagramPacket(sendData, sendData.length, adresse, port);                   
	    	   serverSocket.send(sendPacket);                
	       }      
	 } 
 
 
}
Si vous pourriez m'aider, car je ne vois pas d'où vient le problème. Quand je lance l'application et le serveur, aucune erreur ne s'affiche mais je ne lis pas non plus les données reçues.

Merci d'avance !!