
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
22.04.2008, 10:11
|
|||
|---|---|---|---|
|
|||
POP3. Проблема с получением с сервера только ранее не загруженных писем. |
|||
|
#18+
Пишу почтовый клиент. Письма хранятся на сервере и с сервера не удаляются. Хочу при проверке почты загружать с сервера на клиент только ранее не загруженные письма. Теоритически, имеется команда UIDL, благодаря ей все сообщения, хранящиеся на сервере, получают уникальные номера, которые можно использовать для обнаружения новых писем. Проверяю на Office Mail Server 0.7.26 , UIDL выдаёт НЕ уникальные UID для части писем. При этом, например, The Bat! эти письма с не уникальным UID получает нормально, т.е., по видимому, The Bat!, при проверке почты на сервере, проверяет ещё какую то информацию, но он проверку сервера на наличие новых сообщений проводит очень быстро, т.е., скорее всего, перебором всех сообщений не занимается. Как он это делает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2008, 13:06
|
|||
|---|---|---|---|
|
|||
POP3. Проблема с получением с сервера только ранее не загруженных писем. |
|||
|
#18+
Видимо клиенты используют вместе с командой UIDL команду LIST и получают кроме UID письма ещё и его размер. Обе команды довольно шустро выполняются. Но всё равно остаётся вопрос, как быстро найти новые письма. Перебирать все когда-либо загруженные письма очень долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2008, 14:50
|
|||
|---|---|---|---|
POP3. Проблема с получением с сервера только ранее не загруженных писем. |
|||
|
#18+
arial79The Bat!, при проверке почты на сервере, проверяет ещё какую то информацию, но он проверку сервера на наличие новых сообщений проводит очень быстро, т.е., скорее всего, перебором всех сообщений не занимается. Как он это делает?Именно перебором. Посмотрите логи POP3-сессии вашего почтового сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2008, 15:14
|
|||
|---|---|---|---|
|
|||
POP3. Проблема с получением с сервера только ранее не загруженных писем. |
|||
|
#18+
Ну вот в логах POP3 сессии как раз ничего интересного нет. Из лога видно, что клиент собирает UIDы и размеры писем: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2008, 15:34
|
|||
|---|---|---|---|
POP3. Проблема с получением с сервера только ранее не загруженных писем. |
|||
|
#18+
arial79Соответственно, для того, чтобы проверить какое из писем на сервере новое, клиенту необходимо сравнить 500 писем с сервера с 500 письмами клиента. Это довольно долго должно быть.Не так уж долго, время работы несложного алгоритма с последовательным чтением данных с сервера и последующим поиском по бинарному дереву растет примерно как N*log2(K), где N - количество писем на сервере, K - количество писем в ящике. Думаю, можно придумать и более быстродействующий алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&tablet=1&tid=1345341]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 444ms |

| 0 / 0 |
