2010-06-29 6 views
1

J'essaie d'envoyer des données udp à partir du PC et de recevoir les données dans l'émulateur android. Si nous envoyons des données d'Android au PC cela fonctionne parfaitement. Mais émulateur Android ne reçoit pas les données UDP .Comment recevoir des données dans Android.android udp recevoir ne fonctionne pas?

Ceci est mon UDP envoi du code:

class WriteSender { 
public static void main(String args[]) throws Exception { 
int serverPort = 998; 
int buffer_size = 1024; 
byte buffer[] = new byte[buffer_size]; 
System.out.println("Enter String to send "); 
DatagramSocket ds = new DatagramSocket(serverPort); 
    int pos = 0; 
    while (true) { 
    int c = System.in.read(); 
    switch (c) { 
    case -1: 
     System.out.println("Server Quits."); 
     return; 
    case '\r': 
     break; 
    case '\n': 

    ds.send(new DatagramPacket(buffer, pos, InetAddress.getByName("10.0.2.15"), 5757)); 
     pos = 0; 
     break; 
    default: 
     buffer[pos++] = (byte) c; 
    } 
    } 
} 
} 

Ceci est mon code de réception UDP:

public class Server implements Runnable { 
public static final String SERVERIP="10.0.2.15"; 
public static final int SERVERPORT = 5757; 
private DatagramSocket ds; 
@Override 
public void run() { 
    int buffer_size = 1024; 
    byte buffer[] = new byte[buffer_size]; 
    Log.d("MY UDP ","Before create");  
    try { 
     ds = new DatagramSocket(SERVERPORT); 
     while (true) { 
      DatagramPacket p = new DatagramPacket(buffer, buffer.length); 
      ds.receive(p); 
      Log.d("MY UDP ",new String(p.getData(), 0, p.getLength())); 
      } 
     } 
    catch(Exception e){ 
     Log.e("MY UDP ", " Error", e); 
     } 
} 
} 

Redirect:

telnet localhost 5554 
redir add udp:998:5757 

Comment recevoir des données udp? Est-ce que je fais quelque chose de mal dans mon code?

Répondre

1

Android sur l'émulateur ne reçoit pas de paquet car il se trouve dans un autre réseau. Il fonctionne en tant que système virtuel sur votre PC et crée son propre réseau

Vous pouvez en savoir plus dans ce sujet par exemple ici android emulator and networking

Questions connexes