Comment utiliser les prises UDP dans Android?

J'essaie d'utiliser des sockets UDP dans un android, j'envoie ici ma chaîne à partir de l'émulateur Android et je l'ai reçu par mon programme Java sur PC, mais mon programme Java ne reçoit rien, bien que lorsque j'ai utilisé le programme Java en tant que client et serveur ( J'ai fait deux programmes Java différents), cela a fonctionné.

C'est l'activité principale de mon Android:

  • Style de bouton de connexion Android Google plus
  • Android Color Picker
  • Heure d'exécution d'une application
  • Le bouton OK dans la boîte de dialogue "Créer un nouveau périphérique virtuel Android (AVD)" ne fait rien
  • L'exécution a échoué pour la tâche ': app: dexDebug'. Com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
  • Qu'est-ce que transitive = vrai dans Gradle exactement faire (wrt crashlytics)?
  • public class First extends Activity { Button b; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b = (Button) findViewById(R.id.button1); b.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Thread t = new Thread(new Second()); t.start(); } }); 

    Voici ma deuxième classe dans Android:

      public class Second implements Runnable { Second() { run(); } public void run() { // TODO Auto-generated method stub try { String messageStr = "Hello Android!"; int server_port = 9876; DatagramSocket s = new DatagramSocket(); InetAddress local = InetAddress.getByName("127.0.0.1"); int msg_length = messageStr.length(); byte[] message = messageStr.getBytes(); DatagramPacket p = new DatagramPacket(message, msg_length, local, server_port); s.send(p); } catch (Exception e) { } } } 

    C'est mon code Java sur PC:

      public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData,receiveData.length); serverSocket.receive(receivePacket); String sentence = new String(receivePacket.getData(),0,receivePacket.getLength()); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); System.out.println("MESSAGE RECEIVED "+sentence+" "+IPAddress+" "+port); } } 

    One Solution collect form web for “Comment utiliser les prises UDP dans Android?”

    Sur votre émulation Android (et votre appareil Android), 127.0.0.1 signifie l'émetteur Android, et non le PC hôte. Vous pouvez accéder à votre hôte au 10.0.2.2

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.