Не удается подключиться к серверу Java с внешнего клиента - PullRequest
0 голосов
/ 04 мая 2011

Я создаю персональный инструмент, который обслуживает файлы через HTTP в Java. Для части HTTP-сервера я использую пакет com.sun.net.httpserver.HttpServer. Когда я подключаюсь со своего ПК с помощью локального хоста или внешнего имени хоста, это работает, но когда я пытаюсь подключиться к нему с внешнего клиента, это не так. Я также хотел бы отметить, что файл политик java по умолчанию никогда не изменялся и что я за маршрутизатором, и что порт правильно перенаправлен. Я попытался изменить файл политик, но у меня ничего не получилось, хотя я не знаю, были ли правильные настройки или они были применены, и я прочитал поток, в котором была похожая проблема, но с помощью rmi, который имеет была решена путем установки системного свойства java.rmi.server.hostname, но я не думаю, что это также доступно в моем случае, потому что сервер использует TCP.

Вот код, который инициализирует сервер:

Settings settings = Controller.getInstance().getModel().getSettings();
            int port = settings.getHTTP_PORT();
            server = HttpServer.create(new InetSocketAddress(port), 20);

            String cachepath = settings.getCachepath();
            if(!cachepath.startsWith("/")) cachepath = "/"+cachepath;
            server.createContext(cachepath, new HTTPServerHandler());
                            server.start();

Если кто-нибудь из вас, ребята, может указать на то, что я могу сделать, чтобы решить эту проблему, я был бы очень признателен.

1 Ответ

0 голосов
/ 08 мая 2011

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

...