![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: нет Всего: 16 |
Привет!
Есть ли возможность по http послать частями большой файл, т.е. чтобы разбиение на части происходило на протокольном уровне, и соответственно после получения каждой новой части сервер бы присылал OK ? -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Протокол HTTP не поддерживает POST запросы с передачей по частям.
Добавлено через 5 минут и 9 секунд И почитай эту тему. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sith |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: 1 Всего: 1 |
В протаколе есть заголовок Range но работа с ним помойму в томкате не реализована ты сам должен дописывать эту возможность
-------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
По моему он распространяется только на запросы к серверу. Во всяком случае в спецификациях я встречал примеры только такого использования. Кстати если клиент не браузер, а твое приложение, то можно выполнить не один POST запрос, а серию. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Antropoid |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: нет Всего: 16 |
OK, я уже смирился с этим.
Причем здесь томкат? Протокол поддерживает нарезку, или нет?
Да, это мое приложение. Если слать серию, - нужно разбивать файл на куски, а собирать-то его обратно на сервере некому... -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
||||
|
|||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 3 Всего: 40 |
что значит протокол? Есть HTTP протокол, он определяет в шапке заголовки в определенном формате. Есть стандартные, утвержденные консорциумом, а есть пользовательские, не являющиеся стандартами, но в качестве фичи используются. Вообще, вам тут надо сделать надстройку над HTTP протоколом. По аське же умудряются файлы передать, свой протокол на базе асевого. Добавлено через 2 минуты и 54 секунды так надо и заставить собирать обратно. В чем смысл тогда отправки по частям? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Если можно влиять, на клиент и сервер (т.е. программировать свою логику для того и другого) - проблем нет. Иначе я вариантов не вижу. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Antropoid |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: нет Всего: 16 |
Так вот нужно решить БЕЗ сборки файлов на стороне сервера, ибо его трогать нельзя. Смысл в том, что, если отправлять большой файл целиком, то соединение рвется прежде, чем файл окажется полностью передан на сервер. Если же заставить протокол присылать ОК о доставке части файла, то канал передачи между клиентом и сервером будет считаться живым, соединение не порвется и большой файл успешно зааплоадится.
Влиять можно только на клиент, на сервер - нет. Я все больше убеждаюсь, что вариантов тут нету -------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
||||
|
|||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 3 Всего: 81 |
Метод PUT поддерживает передачу на сервер по частям. Во всяком случае, Tomcat (который вроде как считается эталоном реализации сервлет-контейнера), понимает заголовок "Content-Range" в методе PUT и осуществляет частичную запись в файл, в соответствии с указанным диапазоном. В этом можно убедиться взглянув на исходный текст класса org.apache.catalina.servlets.DefaultServlet.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |