powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как можно средствами java проверить свободен порт или нет ?
13 сообщений из 13, страница 1 из 1
как можно средствами java проверить свободен порт или нет ?
    #34775235
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как можно средствами java проверить свободен порт или нет ?
не нашёл на по этому вопросу информации посему обращаюсь к вам
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775278
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бобриккак можно средствами java проверить свободен порт или нет ?
не нашёл на по этому вопросу информации посему обращаюсь к вам
А какая тут нужна информация? Попытка занять порт даст ответ.
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775345
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775354
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня эксепшен вылетает позднее чем надо, код дальше уже отработал, а эксепшен только словился а всё уже упало.

экземпляр этого класса создаётся в методе другого, он отрабатывает, а секунд через 5 валится exc сообщающий, что порт занят

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
 import  org.apache.log4j.Logger;

 import  org.apache.xmlrpc.WebServer;

 import  java.net.InetAddress;
 import  java.net.UnknownHostException;
 import  java.net.BindException;

 import  com.bcc.game.reversi.ServiceInstance;

 public   class  ServiceReversiInstance {
     private   static   final  Logger LOG = Logger.getLogger("ServiceReversiInstance");
     private  WebServer server =  null ;
     public  ServiceReversiInstance() {

    }
     public  ServiceReversiInstance( int  port, String host)  throws  UnknownHostException {
        LOG.info("ServiceReversiInstance start");
        
        WebServer server =  new  WebServer(port, InetAddress.getByName(host));

        server.addHandler("ServiceInstance",  new  ServiceInstance(port));
         try {
            
            server.start();

            LOG.info("server start");

            LOG.info("Server started at "+InetAddress.getByName(host)+":"+port);
            

        } catch (Exception exc){
            
            exc.printStackTrace();
            
        }




    }

    
     public   Boolean  shutDownService(){
        LOG.info("shutDownService start");
        server.shutdown();
        LOG.info("shutdown server");
         return   new   Boolean (true);
    }
}
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775436
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz Socket.bind ?
или new ServerSocket(port).
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775487
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm Blazkowicz Socket.bind ?
или new ServerSocket(port).

так Socket.bind ничего не возвращает, или порт потом getPort дотавать??
мне надо генерить порт, что бы на него потом XML-RPC Server вешать
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775517
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бобрик Timm Blazkowicz Socket.bind ?
или new ServerSocket(port).

так Socket.bind ничего не возвращает, или порт потом getPort дотавать??
мне надо генерить порт, что бы на него потом XML-RPC Server вешать
кинет java.net.BindException, если порт занят.
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775578
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Timm
кинет java.net.BindException, если порт занят.
Проверил - не кидает. А если использовать accept - кидает. Можно попробовать так - в отдельной ветке делаем accept - если летит исключение, ставим флажок, если нет - закрываем сокет и ветку.
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775598
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm бобрик Timm Blazkowicz Socket.bind ?
или new ServerSocket(port).

так Socket.bind ничего не возвращает, или порт потом getPort дотавать??
мне надо генерить порт, что бы на него потом XML-RPC Server вешать
кинет java.net.BindException, если порт занят.

пасибо
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775605
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no13 Timm
кинет java.net.BindException, если порт занят.
Проверил - не кидает. А если использовать accept - кидает. Можно попробовать так - в отдельной ветке делаем accept - если летит исключение, ставим флажок, если нет - закрываем сокет и ветку.

примерно так и делаю, не нравится, что проверка такая. не понимаю почему XmlRpcServer exc с задержкой выкидывает, так бы всё и без сокетов обошлось
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775618
бобрик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо!
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775633
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no13 Timm
кинет java.net.BindException, если порт занят.
Проверил - не кидает. А если использовать accept - кидает. Можно попробовать так - в отдельной ветке делаем accept - если летит исключение, ставим флажок, если нет - закрываем сокет и ветку.
Покажи пример.
...
Рейтинг: 0 / 0
как можно средствами java проверить свободен порт или нет ?
    #34775822
skipper13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ндя .... неудачный пример остался на работе.

Дома попробовал - всё работает. Тоесть при занятом порте выскакивает ислючение.

Вот рабочий код.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 import  java.net.*;

 public   class  SocketBindTest {

     public   static   void  main(String argv[])  throws  Exception {
	 int  port = Integer.parseInt(argv[ 0 ]);
	System.out.println("port: " + port);
	System.out.flush();
	ServerSocket server =  new  ServerSocket();
	server.bind( new  InetSocketAddress("127.0.0.1", port));
	server.close();
    }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
[root@blackbeard test]# java -cp . SocketBindTest 80
port: 80
Exception in thread "main" java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
        at java.net.ServerSocket.bind(ServerSocket.java:319)
        at java.net.ServerSocket.bind(ServerSocket.java:277)
        at SocketBindTest.main(SocketBindTest.java:10)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как можно средствами java проверить свободен порт или нет ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]