2013-08-26 4 views
0

J'ai sérieusement besoin de beaucoup de connaissances sur la diffusion UDP.URL PING à travers la diffusion UDP dans Android?

J'ai regardé quelques exemples sur Internet pour cela, mais ils sont allés bien au-dessus de ma tête.

Ce que je dois faire est de créer une connexion de diffusion UDP, envoyer et recevoir des paquets.

Plus également ping certaines URL ou adresses IP.

Quelqu'un peut-il fournir une solution?

Un bon exemple serait considéré!

+2

Ping exige le protocole ICMP pas UDP. – rekire

+0

1. Il n'existe pas de «connexion de diffusion UDP». Les connexions impliquent unicast. 2. Il n'y a pas de ping en UDP. 3. Il n'y a pas de ping sur une URL. Quel est le problème que vous essayez de résoudre? – EJP

Répondre

1

enter image description here

Obtenir l'adresse de diffusion

Vous devez accéder au gestionnaire de connexion Wi-Fi pour obtenir les informations DHCP et construire une adresse de diffusion de cette:

InetAddress getBroadcastAddress() throws IOException { 
    WifiManager wifi = mContext.getSystemService(Context.WIFI_SERVICE); 
    DhcpInfo dhcp = wifi.getDhcpInfo(); 
    // handle null somehow 
int broadcast = (dhcp.ipAddress & dhcp.netmask) | ~dhcp.netmask; 
byte[] quads = new byte[4]; 
for (int k = 0; k < 4; k++) 
    quads[k] = (byte) ((broadcast >> k * 8) & 0xFF); 
return InetAddress.getByAddress(quads); 

}

Envoi et réception de paquets de diffusion UDP

Après avoir construit l'adresse de diffusion, les choses fonctionnent normalement. Le code suivant enverrait les données de chaîne sur la diffusion, puis attendre une réponse:

DatagramSocket socket = new DatagramSocket(PORT); 
socket.setBroadcast(true); 
DatagramPacket packet = new DatagramPacket(data.getBytes(), data.length(), 
    getBroadcastAddress(), DISCOVERY_PORT); 
socket.send(packet); 

byte[] buf = new byte[1024]; 
DatagramPacket packet = new DatagramPacket(buf, buf.length); 
socket.receive(packet); 

Source: http://code.google.com/p/boxeeremote/downloads/list

http://www.helloandroid.com/tutorials/simple-udp-communication-example

http://sourcecodemania.com/udp-datagram-sockets-in-java/

+1

thnx je vais courir n savoir si je rencontre un problème – WISHY