Я пытаюсь подключить сокет к несуществующему серверу, и я действительно не понимаю, почему возникает исключение , а не .
Вот мой код:
public class TestSocket extends Activity {
private static final String TAG = "TestSocket";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BasicThread t = new BasicThread();
t.start();
}
class BasicThread extends Thread {
@Override
public void run() {
Log.d(TAG, "Before");
try {
new Socket("42.42.42.42", 12345);
Log.d(TAG, "Connected");
} catch (Exception e) {
Log.d(TAG, "Exception");
}
Log.d(TAG, "After");
}
}
}
Я также пытался использовать свой собственный IP-адрес при запуске Wireshark, и сначала я получаю [SYN]
с Android на мой компьютер, а затем [RST, ACK]
с моего компьютера на Android (потому что на этом порте ничего не прослушивается), но я все еще продолжаю не получить исключение на Android.
Также я тестирую на физическом телефоне (Nexus S), и у меня есть разрешение на доступ к Интернету в моем Манифесте.
Почему я не получаю Exception
?
Edit:
Точнее, я получаю вывод
D/TestSocket(17745): Before
D/TestSocket(17745): Connected
D/TestSocket(17745): After
(а не Exception
)