Название: POP3 Отправлено: serg_hd от Май 21, 2010, 12:57 Вопрос в следующем: как узнать сколько максимум октет выдаётся этим протоколом за один пакет? Например статистика показала что всего в письме 109168 октет. Мне их все нужно считать. Использую для этого (в отдельном потоке):
Код Проблема в том, что нужно знать сколько раз это условие вызывать, чтобы прочитать всё письмо каким бы оно большим не было. Пробовал 512, 1024, 2048 - не то. Или вообще может быть есть какой-то более рациональный способ как получить содержимое большого (от 32 строк) письма? Название: Re: POP3 Отправлено: garryHotDog от Май 21, 2010, 13:37 попробуй посмотреть исходный код открытых клиентов, как там делается это !
Название: Re: POP3 Отправлено: crossly от Май 21, 2010, 14:09 для это есть сигнал readyRead() сделай слот и читай хоть до посиниения.... а вообще тема pop3 уже понималась.... поищи по форуму
Название: Re: POP3 Отправлено: serg_hd от Май 21, 2010, 14:23 для это есть сигнал readyRead() сделай слот и читай хоть до посиниения.... а вообще тема pop3 уже понималась.... поищи по форуму Какбэ в том и проблема, что читать надо не до посинения, а до конца письма. И надо точно знать когда он будет. Такая проблема тут не подымалась.Название: Re: POP3 Отправлено: serg_hd от Май 21, 2010, 14:39 Частично решено тем, что от общего кол-ва октет при каждой итерации вычитается кол-во возвращённое каждым ответом:
Код Когда октет уже не осталось, значит все данные переданы. Но это работает если письмо небольшое (проверял на 44 строках). А если в нём, например, 5160 строк, то таким образом прочтёт почему-то только 4941 строку. Название: Re: POP3 Отправлено: crossly от Май 21, 2010, 15:10 дык епть... попроси у сервера сначала размер письма.... а потом уже само письмо ... и читай сколько тебе надо...
Название: Re: POP3 Отправлено: serg_hd от Май 21, 2010, 15:12 дык епть... попроси у сервера сначала размер письма.... а потом уже само письмо ... и читай сколько тебе надо... Код Вы на код смотрели? Название: Re: POP3 Отправлено: crossly от Май 21, 2010, 15:20 ага... слегка бредовый... когда то писал клиента если найду выложу.... а пока на это посмотри http://qt.gitorious.org/qt-labs/messagingframework/blobs/master/src/plugins/messageservices/pop/popclient.cpp
Название: Re: POP3 Отправлено: serg_hd от Май 21, 2010, 15:21 ага... слегка бредовый... То что бредовый было вычислено сразу, а то, что там читается полный размер письма значит нет? ;D Интересная логика.И мне не нужны сигналы/слоты, я уже говорил что в отдельном потоке это всё делаю... Название: Re: POP3 Отправлено: serg_hd от Май 22, 2010, 00:51 Вобщем из-за непонятного соответствия отданный_октет/полученный_байт чтение письма любого размера свелось к:
Код
Название: Re: POP3 Отправлено: Spicos от Май 28, 2010, 06:28 у меня как-то так
Код: int POP3::connect_pop3() |