Envoyer les paquets UDP à partir d'ANDROID 2.2 (HTC desire)

j'ai un réseau local et je veux envoyer un upd message à partir de mon android (htc desire) sur mon PC. Theres un Routeur Wlan entre eux. Le Problème, c'est que l'UPD message n'est jamais à l'ordinateur.

Le Code sur Android.:

package org.example.androidapp;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

public class UDPClientAnd {

    public void sendUDPMessage(int port) throws java.io.IOException {
        DatagramSocket socket = new DatagramSocket();
        InetAddress serverIP = InetAddress.getByName("192.168.1.110");
        byte[] outData = ("Ping").getBytes();
        DatagramPacket out = new DatagramPacket(outData,outData.length, serverIP,50005);
        socket.send(out);
        socket.close();
    }

}

- Je choisir un port élevé sur le stand côtés.

Les Autorisations sur l'Android sont:

uses-permission android:name="android.permission.INTERNET"
uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" 

Le Côté Serveur est le PC d'un simple programme pour la réception:

package org.example.androidapp;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UPDServerAnd implements Runnable{
public void run(){
byte[] inData = new byte[48];
byte[] outData = new byte[48];
String message;
DatagramSocket socket;
try {
    socket = new DatagramSocket(50005);
    while (true) {
        DatagramPacket in = new DatagramPacket(inData,inData.length);
        socket.receive(in);
        InetAddress senderIP = in.getAddress();
        int senderPort = in.getPort();
        message=new String(in.getData(),0,in.getLength());
        System.out.println("Got "+message+" from "+senderIP+","+senderPort);
        outData = "Pong".getBytes();
        DatagramPacket out = new DatagramPacket(outData,outData.length, senderIP,senderPort);
        socket.send(out);
        }
} catch (SocketException e) {
    e.printStackTrace();
} 
 catch (IOException e) {
    e.printStackTrace();
}

}

}

Alors, pourquoi n'est-il pas de Paquet UDP visible à venir à partir d'android? Même Wireshark ne montre que certains paquets ARP.
Plz help 🙂

Votre android avec un code qui fonctionne pour moi. Vérifiez que vous n'avez pas une sorte de pare-feu sur le PC, l'adresse IP est correcte et client-client, la communication n'est pas désactivé sur votre point d'accès wifi.
Oui merci, il y avait une adresse IP statique donnée :/. Code fonctionne maintenant sur les deux bien sûr.
HTC Desire a un problème avec la diffusion UDP.

OriginalL'auteur user623273 | 2011-02-18