Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как можно средствами java проверить свободен порт или нет ? / 13 сообщений из 13, страница 1 из 1
04.09.2007, 16:38:48
    #34775235
бобрик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
как можно средствами java проверить свободен порт или нет ?
не нашёл на по этому вопросу информации посему обращаюсь к вам
...
Рейтинг: 0 / 0
04.09.2007, 16:47:38
    #34775278
no13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
бобриккак можно средствами java проверить свободен порт или нет ?
не нашёл на по этому вопросу информации посему обращаюсь к вам
А какая тут нужна информация? Попытка занять порт даст ответ.
...
Рейтинг: 0 / 0
04.09.2007, 17:04:54
    #34775345
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
...
Рейтинг: 0 / 0
04.09.2007, 17:06:58
    #34775354
ИгорьМ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
у меня эксепшен вылетает позднее чем надо, код дальше уже отработал, а эксепшен только словился а всё уже упало.

экземпляр этого класса создаётся в методе другого, он отрабатывает, а секунд через 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
04.09.2007, 17:33:03
    #34775436
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
Blazkowicz Socket.bind ?
или new ServerSocket(port).
...
Рейтинг: 0 / 0
04.09.2007, 17:44:42
    #34775487
бобрик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как можно средствами java проверить свободен порт или нет ?
Timm Blazkowicz Socket.bind ?
или new ServerSocket(port).

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

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

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

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

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

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

Вот рабочий код.
Код: 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
Форумы / Java [игнор отключен] [закрыт для гостей] / как можно средствами java проверить свободен порт или нет ? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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