Как правильно использовать setSoTimeout для блокировки выполнения accept () на сокете в Java? - PullRequest
1 голос
/ 11 июня 2019

Я борюсь с сокетами в Java.Мне нужно установить timeout , чтобы мой процесс сдался и прекратил работу после 1000 мс.Я пытался следовать документации и некоторым сообщениям здесь о stackoverflow, но процесс продолжает ждать, заблокированный при вызове функции accept().Что я делаю не так?

private static void statusRequest(String destAddr) throws ClassNotFoundException {
        try {    
            ServerSocket serverSocket = new ServerSocket(PORT_NUMBER2);
            serverSocket.setSoTimeout(1000);
            Socket socket = serverSocket.accept(); // Blocking function
            // [... Expected working flow ...]
            // [... do some work with the received object ...]                 
        } catch (SocketException s) {
            System.out.println("No message received");
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...