2010-08-02 3 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); 
} 

Используя приведенный выше код на Android SDK 1.5, при установке отладчик для андроид эмуляции, я пошагово выше образца (полученного из учебника), и возвращает отладчик управления для пользователя когда он достигает линии DatagramSocket ... как только я нажму F8 (Eclipse Galileo), чтобы продолжить, я снова снова получаю контроль. В принципе, он никогда не достигает socket.connect .... Что здесь происходит? Если я окружу его в блоке try/catch, ничего не поймают, поэтому это не исключение. Почему это так умирает?Android DatagramSocket не работает должным образом

Спасибо!

ответ

5

А, ошибка разрешения сокета ... никогда не будет!

Для людей, интересующихся, как я его решил: В манифесте должно быть добавлено разрешение на использование, а разрешение - в Интернете.

Добавьте следующий манифест:

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
Смежные вопросы