программирование сокетов Java - PullRequest
0 голосов
/ 04 августа 2011

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

Ответы [ 3 ]

2 голосов
/ 04 августа 2011

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

1 голос
/ 04 августа 2011

Если вы хотите получать запросы, набранные в веб-браузере, вам нужно сделать пару вещей.

-Установите сокет для прослушивания через порт 80 -Принимать / анализировать / обрабатывать HTML-запросы -Возврат HTML-ответ через сокет

Вместо того, чтобы писать код для вас, вот псевдокод

//setup socket on port 80
socket.lisen();
while(true)
{
    newsocket = socket.accept();
    new thread(process(newsocket));
}

Самой сложной частью, я думаю, будет обработка HTML, обработка запроса и генерация ответа. После этого просто отправьте его обратно через сокет.

Учитывая количество библиотек для такого рода вещей, я бы не рекомендовал писать одну с нуля.

0 голосов
/ 04 августа 2011

Проблема в том, что «веб-клиент» - это просто браузер, поэтому у вас нет прямого доступа к TCP / IP. Несколько вариантов:

  1. HTML5 WebSockets (только современные браузеры)
  2. Flash Helper (есть обертки JavaScript)
  3. Помощник по java-апплету (есть обертки для JavaScript)
  4. некоторые трюки, основанные на пуле ajax
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...