J'utilise le code suivant pour recevoir les données d'un port particulier. Cela ne fonctionne pas sous Android. Mais l'envoi de données à un port particulier fonctionne bien.Comment recevoir des données en utilisant UDP dans Android?
public class UDPDemo extends Activity {
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.recv_message);
try {
DatagramSocket clientsocket=new DatagramSocket(9876);
byte[] receivedata = new byte[1024];
while(true)
{
DatagramPacket recv_packet = new DatagramPacket(receivedata, receivedata.length);
Log.d("UDP", "S: Receiving...");
clientsocket.receive(recv_packet);
String rec_str = new String(recv_packet.getData());
tv.setText(rec_str);
Log.d(" Received String ",rec_str);
InetAddress ipaddress = recv_packet.getAddress();
int port = recv_packet.getPort();
Log.d("IPAddress : ",ipaddress.toString());
Log.d(" Port : ",Integer.toString(port));
}
} catch (Exception e) {
Log.e("UDP", "S: Error", e);
}
}
}
Essayez-vous ceci sur un périphérique ou un émulateur? –
Est-ce que ce problème est résolu? Pouvez-vous marquer comme répondu si nous vous avons aidé? – ktingle