2010-08-02 4 views
1
public void Connect() throws Exception 
{ 
InetAddress dest; 
dest = InetAddress.getByName("192.168.1.100"); 
DatagramSocket socket = new DatagramSocket(); 
socket.connect(new InetSocketAddress(15900)); 
byte[] message = "Oh Hai!".getBytes(); 
DatagramPacket packet = new DatagramPacket(message, message.length,dest,15900); 
socket.send(packet); 
} 

En utilisant le code ci-dessus sur les applications SDK 1,5, lors de la fixation du débogueur pour l'émulation androïde, je fais un pas à travers l'échantillon ci-dessus (obtenu à partir d'une instruction), et les rendements de débogage contrôle à l'utilisateur quand il atteint la ligne DatagramSocket ... dès que je tape sur F8 (Eclipse Galileo) pour continuer, j'ai immédiatement le contrôle à nouveau ... fondamentalement, il n'atteint jamais socket.connect .... Qu'est-ce qui ne va pas ici? Si je l'entoure dans un bloc try/catch, rien n'est attrapé, donc ce n'est pas une exception. Pourquoi est-ce qu'il meurt comme ça?applications DatagramSocket ne fonctionne pas correctement

Merci!

Répondre

5

Ah, Socket Autorisation Erreur ... nevermind! Pour les personnes qui se demandent comment je l'ai résolu: Le manifeste doit avoir une permission d'utilisation ajoutée, l'autorisation étant internet.

Ajouter ce qui suit au manifeste:

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
Questions connexes