powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм обработки большого cgi запроса
7 сообщений из 7, страница 1 из 1
Алгоритм обработки большого cgi запроса
    #37106002
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересует вопрос чисто из спортивного интереса.
Что если на сервер придет cgi запрос, содержащий сообщение в multipart формате, а передаваемые файлы - это три фильма по 1,2 Гб каждый. У нас пропадает возможность загрузить всё сообщение в память и распарсить его как строку. Получается, что придется как-то парсить, позволяя себе извлекать лишь небольшие кусочки из файла. Как эффективнее всего распарсить сие творение на c++ qt, чтобы на выходе мы получили 3 отдельных файла и поля post запроса. Что-то я не нашел функцию поиска подстроки в файле, есть только функции поиска подстроки в строке.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106187
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix, функции поиска подстроки в файле нет не только в С++, так что тебе придётся видимо писать полноценный парсер
этого сообщения.
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106272
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у меня уже написан парсер, но объектом для парсинга является строка. Затруднение для меня состоит в том, чтобы теперь объектом для этого парсера стали маленькие кусочки, потому что функции работы с файлом максимум что позволяют - это с заданного места прочитать заданное количество байт. Вот я и затрудняюсь сообразить по сколько и с каких позиций читать.
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106288
Автор:
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LumixТак у меня уже написан парсер, но объектом для парсинга является строка. Затруднение для меня состоит в том, чтобы теперь объектом для этого парсера стали маленькие кусочки, потому что функции работы с файлом максимум что позволяют - это с заданного места прочитать заданное количество байт. Вот я и затрудняюсь сообразить по сколько и с каких позиций читать.

ну так переделай чтобы вместо строки использовались итераторы или нечто подобное. Видел как связка bison+flex работает? Вот сам нечто подобное сделай.
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106528
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 09.02.2011 12:02, Lumix wrote:
> Так у меня уже написан парсер, но объектом для парсинга является строка.

Значит, не написан. читай теорию компиляции и пр.
Задача -- сделать так, чтобы он у тебя парсил файлы, а не строки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106671
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Задача -- сделать так, чтобы он у тебя парсил файлы, а не строки.

Вы правильно поняли суть моего обращения на форум. Вот теперь жду, если кто-то поможет по существу - парсинг большого мультипарта. Предельно конкретный вопрос.

Чтобы давать советы почитать книги по теории компиляции - много ума не надо. Такие советы можно давать даже не умея программировать вообще.
...
Рейтинг: 0 / 0
Алгоритм обработки большого cgi запроса
    #37106799
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос решен! На другом форуме мне подсказали как решается такая задача. Нужно использовать скользящие буферы размером с boundary-сепаратор и тогда всё получается красиво и экономично. Более того, даже двупроходный алгоритм не понадобился - можно всё сделать за один проход.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм обработки большого cgi запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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