Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с HttpURLConnection и ServerSocket / 3 сообщений из 3, страница 1 из 1
30.03.2007, 10:56:36
    #34426748
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с HttpURLConnection и ServerSocket
Всем привет!

Стоит такая задача: написать клиент/серверное приложение, в качестве транспорта - HTTP. Использовать можно только средства java.net, версия джавы 1.1 (только плиз не спрашивайте почему :), так надо). Описание подробностей ТЗ я пропускаю. Соответственно, пробуем простейший обмен:

Вариант № 1:

Client (в качестве клиента - java-апплет)
Код: plaintext
1.
2.
3.
4.
5.
URL url =  new  URL("http://localhost:8080/?q1s=triangle&q1xr=0.5&q1yr=0.5&x=1&y=1&R=2");

HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.connect();
Server
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
serverSocket =  new  ServerSocket( 8080 );
...
Socket socket = serverSocket.accept();
...
// Достаем параметры
BufferedReader reader =  new  BufferedReader( new  InputStreamReader(inputStream));
String readedLine = reader.readLine();

На выделенной строке вишу. Если вызвать inputStream.available() - вернет 0. Если пробовать законнектиться из браузера, набрав http://localhost:8080/?q1s=triangle&q1xr=0.5&q1yr=0.5&x=1&y=1&R=2 , все ОК. Подскажите, что я не так делаю?

Вариант № 2:

Смотрим RFC:

ftp://ftp.rfc-editor.org/in-notes/rfc1945.txt
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
       Simple-Request = "GET" SP Request-URI CRLF

       Full-Request   = Request-Line             ; Section 5.1
                        *( General-Header        ; Section 4.3
                         | Request-Header        ; Section 5.2
                         | Entity-Header )       ; Section 7.1
                        CRLF
                        [ Entity-Body ]          ; Section 7.2
...
       Request-Line = Method SP Request-URI SP HTTP-Version CRLF

Модифицируем клиента:

Client (в качестве клиента - java-апплет)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
URL url =  new  URL("http://localhost:8080");

URLConnection urlConnection = url.openConnection();
urlConnection.setDoOutput(true);

OutputStream outputStream = urlConnection.getOutputStream();
outputStream.write("GET /?q1s=triangle&q1xr=0.5&q1yr=0.5&x=1&y=1&R=2 HTTP/1.0 \r\n".getBytes());

outputStream.flush();
outputStream.close();

Сервер без изменений. Происходит таже фигня.

Заранее благодарен!
...
Рейтинг: 0 / 0
30.03.2007, 12:20:53
    #34427072
Ekshibarov Vladimir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с HttpURLConnection и ServerSocket
Ruslan.IsbarovВсем привет!

Стоит такая задача: написать клиент/серверное приложение, в качестве транспорта - HTTP. Использовать можно только средства java.net, версия джавы 1.1 (только плиз не спрашивайте почему :), так надо). Описание подробностей ТЗ я пропускаю. Соответственно, пробуем простейший обмен:

Вариант № 1:

[quot Client (в качестве клиента - java-апплет)]
Код: plaintext
1.
2.
3.
4.
5.
URL url =  new  URL("http://localhost:8080/?q1s=triangle&q1xr=0.5&q1yr=0.5&x=1&y=1&R=2");

HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.connect();


После httpURLConnection.connect();

делаем httpURLConnection.getInputStream(),
после этого как раз на сервер и отправится информация.
...
Рейтинг: 0 / 0
30.03.2007, 14:08:34
    #34427536
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с HttpURLConnection и ServerSocket
Все всем спасибо, проблема решена.

Вместо

Код: plaintext
httpURLConnection.connect();

Нужно делать:

Код: plaintext
1.
2.
3.
4.
 int  responseCode = httpURLConnection.getResponseCode();
 if  (responseCode != HttpURLConnection.HTTP_OK) {
    ... // Дальнейшие действия
}

Создается впечатление, что до httpURLConnection.getResponseCode() пакет не отправляется серверу.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с HttpURLConnection и ServerSocket / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]