Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
HTTP без tomcat
#1
Доброго времени суток.

Уточните, пожалуйста, могу ли я понять свой демон
Код:
servers = new ServerSocket(4444);
while(true){
server.accept();
// и т.д.
}
без веб сервера (tomcat)
Послать запрос на сервер через браузер по URL
http://localhost:4444/asfbjaf/sdas/sdasf

И получить на сервере следующую строку asfbjaf/sdas/sdasf
Ответ
#2
Можно. Но если HTTP то надо реализовать хотябы базис http протокола.

http://stackoverflow.com/questions/37321...ava-se-api

Зачем Tomcat. Можно взять jetty embedded или netty.

http://www.eclipse.org/jetty/documentati...mples.html
https://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#3
А JSON уже не катит?

P.S. А зачем вам HTTP запрос на такую глупость? Может вы ещё чай завариваете в унитазе? Извиняюсь, если обидел.
Родился, живу и когда-нибудь умру.
Ответ
#4
Donatte Написал:P.S. А зачем вам HTTP запрос на такую глупость? Может вы ещё чай завариваете в унитазе? Извиняюсь, если обидел.
Увы java знаю на уровне junior, балуюсь для своего личного саморазвития. А так есть задача - нам передают GET запрос по HTTP мы принимаем, анализируем, кодируем данные и отправляем на другой сервер, другой протокол пакет. Как-то php для нашей задачи не подходит, т.к. есть свои нюансы в поточности асинхронного выполнения.
А почему именно HTTP, то это уже вопрос не ко мне=)
Это пол беды - мне тут недавно пришлось с русским xml с весом одной вложенности дерева в почти 1 мб. (xml был выгружен из 1C) - вот это было страшно смотреть и глаза содрогались:
PHP код:
<?php 
<пользователь паспорт="" серия="" номер="">
<
имущество аттр1="" аттр2="" аттр2="" />
// и т.д. большество параметров и вложенности
</пользователь>
Увы вот это реальная глупость...
Ответ
#5
Ну я об этом и говорю. JSON достаточно удобное решение. На гуглокоде есть либа под Java и примеры её использования. Что вам мешает использовать её и для HTTP запросов и для внутреннего протокола между 2-мя серверами? базово это стринг строка, шифруйте её и всё. Зато парс данных простейший.
Родился, живу и когда-нибудь умру.
Ответ
#6
Вот пример с подробными комментариями http://www.javaportal.ru/java/articles/j...cle04.html
Ответ
#7
Donatte Написал:JSON достаточно удобное решение.
Все бы хорошо, если бы мы получали JSON строку

Добавлено через 3 минуты
flopix Написал:Вот пример с подробными комментариями http://www.javaportal.ru/java/articles/j...cle04.html
Большое спасибо! Очень полезно!
Ответ
#8
Virt Написал:Увы java знаю на уровне junior, балуюсь для своего личного саморазвития. А так есть задача - нам передают GET запрос по HTTP мы принимаем, анализируем, кодируем данные и отправляем на другой сервер, другой протокол пакет. Как-то php для нашей задачи не подходит, т.к. есть свои нюансы в поточности асинхронного выполнения.
А почему именно HTTP, то это уже вопрос не ко мне=)
Это пол беды - мне тут недавно пришлось с русским xml с весом одной вложенности дерева в почти 1 мб. (xml был выгружен из 1C) - вот это было страшно смотреть и глаза содрогались:
PHP код:
<?php 
<пользователь паспорт="" серия="" номер="">
<
имущество аттр1="" аттр2="" аттр2="" />
// и т.д. большество параметров и вложенности
</пользователь>
Увы вот это реальная глупость...
Както-так (спойлер). Не стоит городить костыли для работы с HTTP и сокетами когда все уже есть.

P.S. Для работы с XML если структура не меняется просто сделать JAXB модель. 1Мб это не так уж и много - можно весь DOM грузить. Помню была таска обрабатывать XMLину весом в 2.4 гига с лимитом памяти - пришлось попотеть.

code
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#9
[quote=Aquanox]P.S. Для работы с XML если структура не меняется просто сделать JAXB модель. 1Мб это не так уж и много - можно весь DOM грузить.
[QUOTE]
То было на php=))) P.S. по этому направлению специализируюсь.
Ответ
#10
MiniHttp вам в помощь
https://code.google.com/p/stream-m/sourc.../minihttp/
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)