Java Sockets - Неожиданное поведение при использовании IDE - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть простой тестовый пример: -

public class Test {


public static void main(String[] args) {

    try {
        Socket socket = new Socket("localhost",5956);
    } catch (UnknownHostException e) {
        System.out.println("UnknownHostException");
        return;

    } catch (IOException e) {
        System.out.println("IOException");
        return;
    }

    System.out.println("Connected");
    }
}

Когда я запускаю это из командной строки, я получаю ожидаемый вывод "IOException", когда нет серверной программы, прослушивающей порт 5956.

Когда я запускаю это в своей среде IDE, я получаю вывод «Подключено», даже если на 5956 не прослушивается серверная программа. Я пробовал это с Eclipse Helios и Netbeans 7.0 RC2, которые я только скачал и установилпару часов назад - оба дают описанное поведение.

Любые предложения о том, почему и / или с чего начать искать причину этого, будут с благодарностью приняты.

Я использую WinXPSP2, JDK 1.6.0_24

С уважением

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Проверьте, не уничтожили ли вы процесс, прослушивающий порт вашего сервера. Я просто работаю так, как предназначено для меня.

enter image description here

0 голосов
/ 13 апреля 2011

Несколько вещей для проверки:
- что netstat -ano | находит сообщение "5956", если не работает IDE? Что он сообщает, если IDE работает?
- ваша IDE использует ту же версию JDK, которую вы используете из командной строки?
- работает ли ваш брандмауэр Windows? Возможно, вы добавили свою IDE или исполняемый файл Java в разрешенные программы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...