Java-одноэлементное исключение Исключение в потоке "main" java.net.BindException: адрес уже используется: JVM_Bind

mat спросил: 14 ноября 2017 в 06:20 в: java

У меня есть серверная часть. Я попытался сделать его Singeltone, чтобы обвинять серверные методы в других классах, но когда я запускаю серверный сервер main, а затем я делаю Server.getInstance() из другого класса, это вызывает следующее исключение:

Исключение в потоке"main" java.net.BindException: адрес уже используется: JVM_Bind

я пробовал много вещей, но он не работает

 private static Server serverinstance = null;
        private static Object obj=new Object();        public Server() throws IOException {
            server = new ServerSocket(222);
            hash = new HashMap<String, SocketData>();
        }        public static Server getInstance() throws IOException {
            synchronized (obj) {
                if (serverinstance == null) {
                    serverinstance = new Server();
                    serverinstance.listenServer();
                }
                return serverinstance;
            }
        }        private void listenServer() throws IOException {
            while (flag) {
                ans = server.accept();
                if (serverinstance != null)
                    new EchoThread(serverinstance, ans);
            }
        }    public static void main(String args[]) throws IOException {
            Server.getInstance();
        }    Class A()
    {
    public A()
    {
    Server.getInstance();
    }
    }

0 ответов