![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 686 Pomógł: 0 Dołączył: 10.11.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Witam,
Mam taki problem ze buduje klienta poczty elektronicznej, no i teraz za kazdym razem gdy wysylam jakies żądanie przechodzi przez bootstrap'a wszystko leci przez kontrolery i tam zostaje wywolany model oraz widoki. Sęk w tym ze za kazdym żądaniem musze od poczatku uzywac funkcji imao_open, wyglada to mniej wiecje tak : Oto kawalek kontrolera :
Linijka
Odpowiada za polaczenie sie do skrzynki imap (w modelu jest to imap_open()) a to trwa przynajmniej 5 sekund, i za kazdym razem gdy np chce wyswietlic inna skrzynke musze czekac az zainicjuje sie kolejne polaczenie, to samo gdy chce zobaczyc dana wiadomosc, w w/w przykladnie funkcja message($params) tez musi połączyć sie od nowa poprzez imap_open i przez to aplikacja jest strasznie wolna, jak moznaby poprawic szybkosc aplikacji ? Ktos kto pisal kiedykolwiek klienta pocztowego moze cos podpowiedziec ? Edit---------------------------------------------- Moje pytanie jest tak proste czy tak trudne ze nikt nie chce odpowiedziec ? (IMG:style_emoticons/default/dry.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Wolfie... Przecież imap_connect zwraca Ci identyfikator połączenia. Przechowuj go w ogólnodostępnym miejscu i używaj w razie pobierania wiadomości czy wszelkich operacjach, aż do wylogowania włącznie. Co do połączenia z nowym mailbox to zawsze poczekasz sobie na otwarcie połączenia i tutaj nic nie przyspieszysz raczej. To co możesz zrobić ewentualnie to kombinowanie z systemem zakładek. Każdy mailbox byłby jako obiekt AJAX w swojej zakładce. Przechowywać byś musiał tylko uchwyty connect na każdą z zakładek i wykonywać żądania na odpowiedniej skrzynce w zależności od tego w której zakładce co. Bo myślę, że choć wykonanie rozłączenia z jedną skrzynką by logować do innej jest prostsze, to potem przejście znów do pierwszej wylogowuje z drugiej i ponownie loguje do pierwszej. A tak kombinując z AJAXem, byś mógł mieć tyle kont otwartych ile chcesz (a raczej ile komp wytrzyma).
Tutaj akurat teoretyzuję i raczej na logikę wymyślam rozwiązanie, bo nigdy nie potrzebowałem tworzyć webowego klienta mailowego. Myślę, że rozwiązanie jakie proponuję, usprawniło by i przyspieszyło całość. Proponuję AJAX w systemie zakładek, bo przeładowywanie całej strony kończyło by się połączeniami do każdej ze skrzynek i asynchroniczność jest tutaj moim zdaniem jak najbardziej wskazana. Ten post edytował thek 16.10.2009, 11:27:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 03:42 |