Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 6
1

Http сервер на java

16.10.2017, 17:33. Показов 831. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть вот такой код после исполнения которого по ссылке localhost:9091 открывается html страница. Скажите пожалуйста, можно ли сделать что бы эта страница была доступна по глобальному адресу и как это сделать?
Java
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
51
52
53
54
55
56
57
58
59
60
61
62
63
public class Main {
   static ServerSocket ss;
static String ip = "localhost";
 
    public static void main(String[] args) throws Throwable {
        ss = new ServerSocket(9091, 0, InetAddress.getByName(ip));
        while (true) {
            Socket s = ss.accept();
            System.err.println("Client accepted");
            new Thread(new SocketProcessor(s)).start();
        }
    }
 
    private static class SocketProcessor implements Runnable {
 
        private Socket s;
        private InputStream is;
        private OutputStream os;
 
        private SocketProcessor(Socket s) throws Throwable {
            this.s = s;
            this.is = s.getInputStream();
            this.os = s.getOutputStream();
        }
 
        public void run() {
            try {
                readInputHeaders();
                writeResponse("<html><body><h1>Hello from </h1></body></html> ");
            } catch (Throwable t) {
                /*do nothing*/
            } finally {
                try {
                    s.close();
                } catch (Throwable t) {
                    /*do nothing*/
                }
            }
            System.err.println("Client processing finished");
        }
 
        private void writeResponse(String s) throws Throwable {
            String response = "HTTP/1.1 200 OK\r\n" +
                    "Server: YarServer/2009-09-09\r\n" +
                    "Content-Type: text/html\r\n" +
                    "Content-Length: " + s.length() + "\r\n" +
                    "Connection: close\r\n\r\n";
            String result = response + s;
            os.write(result.getBytes());
            os.flush();
        }
 
        private void readInputHeaders() throws Throwable {
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            while(true) {
                String s = br.readLine();
                if(s == null || s.trim().length() == 0) {
                    break;
                }
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2017, 17:33
Ответы с готовыми решениями:

Java HTTP сервер
Здравствуйте. Тема очень распространенная, и есть множество решений. Первое, это на сокетах:...

http server,http сервер, post
Необходимо реализовать функцию post для http сервера Косяк как принимать сообщение отправленное -...

Сервер для игры java+php или java
Всем привет. Возник вопрос следующего характера. Знаю php и java, однако по вопросу создания...

Простой HTTP сервер
Доброго времени суток! Решил изучить Java для написания серверной части своих приложений, зашел в...

8
1246 / 858 / 265
Регистрация: 02.04.2009
Сообщений: 3,255
16.10.2017, 17:38 2
Цитата Сообщение от jastesm Посмотреть сообщение
по глобальному адресу
Что такое "глобальный адрес"?
0
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 6
16.10.2017, 17:41  [ТС] 3
Ну я имею в виду что бы эта страница была доступна в интернете по адресу который выдал провайдер
0
1246 / 858 / 265
Регистрация: 02.04.2009
Сообщений: 3,255
16.10.2017, 17:43 4
jastesm, ну тогда, надо будет скопировать всё необходимое из локалки на сервер, доступ к которому Вам предоставил хостер.
0
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 6
16.10.2017, 17:47  [ТС] 5
Это было бы слишком просто) Неужели нельзя сделать приложение которое открывалабы хтмл странице "выход" в интернет?
0
1246 / 858 / 265
Регистрация: 02.04.2009
Сообщений: 3,255
16.10.2017, 17:56 6
Ни то я завис, ни то Вы говорите что-то несусветное...

У страницы, из локалки, выход в интернет есть (если на вашем ПК есть интернет). Проблема не "Выход" a "Вход". То есть, доступ к Вашему приложению из интернета. А это, возможно либо залив всё на сервер к хостеру, либо самому став хостером (что сложновато и дороговато).
0
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 6
16.10.2017, 18:00  [ТС] 7
Что мешает "войти" со стороны интернета?
0
1246 / 858 / 265
Регистрация: 02.04.2009
Сообщений: 3,255
16.10.2017, 18:04 8
jastesm, http://www.webremeslo.ru/publi... tion2.html
0
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 6
16.10.2017, 18:13  [ТС] 9
Доменное имя не обязательно для работы сайта. Я использовал open server достаточно долго и имею представление о том что такое не выключать компьютер. Моя задача написать программу которая бы открывала нужный порт для одной html страницы. open server это же как то делает
0
16.10.2017, 18:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2017, 18:13
Помогаю со студенческими работами здесь

HTTP сервер. Не отправляются картинки
Изучаю яву уже около месяца. Решил запилить свой HTTP сервер. После парочки тестов оказалось что он...

HTTP Post запрос Java
Здравствуйте, подскажите в чем проблема? Необходимо реализовать передачу параметров от Клиента...

HTTP авторизация средствами Java
Здравствуйте! Требуется помощь в создании эмулятора web-сервиса отправки СМС. Для начала требуется...

Java. Код HTTP запроса
Как получить код у запроса HTTP?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru