Dodawanie funkcjonalności "push" do kontrolek Indy 10

0

Potrzebuję rozszerzyć standardowe komponenty Indy o możliwość obsługi komendy IDLE (serwer i klient). Czy ktoś z was zmierzył się z podobnym problemem podczas wykonywania swojego projektu? W ostateczności mam możliwość użycia kontrolek fimy EmailArchitect, ale to tylko w sytuacji gdy implementacja funkcjonalności IDLE mnie przerośnie. Używam Delphi XE6 i Indy 10.

0

może zaczniesz od tego, że opisze co by to IDLE miało robić - mam jakieś podejrzenia ale kto wie co autor miał na myśli

0

Jeżeli klient wyśle komende IDLE to serwer "pozostaje w gotowości" i w momencie gdy na serwer przychodzi mail to serwer automatycznie wysyła go do klienta (klient nie wysyła rządania).

0

czyli wypadało by zacząć od tego, że chodzi o email. OK. To teraz napisz z czym masz KONKRETNIE problem. Bo jeśli chodzi o klienta to się to w jakichś 2-3 linijkach powinno zamknąć, natomiast w serwerze też nie będzie to bardzo trudne bo kod jest dość przejrzysty i dodanie nowej komendy jest dość proste

0

Na samym początku chciałbym stworzyć jedynie klienta pocztowego. Wykorzystam go do połączenia się z serwer, który obsługuje IMAP IDLE. W kontrolce TIdIMAP4 mogę wykorzystać funkcję SendCmd(...), ale czy ona nada się do tego aby wysłać do serwera jakąkolwiek komendę? Jeżeli tak, to co jeszcze muszę zaimplementować aby połączenie było stale podtrzymywane, a serwer po otrzymaniu komendy IDLE do momentu zerwania połączenia, bądź do wysłania komendy(od klienta) przerywającej działania IDLE wysyłał kopie wiadomości do klienta natychmiastowo po jej dotarciu na serwer.

0

Masz źródła więc sobie zobacz jak są inne komendy wysyłane. Indy jest napisany dość przejrzyście i łatwo można sprawdzić czy SendCmd się nada. Co do podtrzymywania połączenia to z tego co wiem o IMAP to on sam nie zamyka połączenia. Jeśli jednak będzie zrywane to wystarczy co jakiś czas (np. co 1-5 minut) wysłać mu (w sensie do serwera) komendę IDLE. Co do wysyłania wiadomości do klienta to tym zajmuje się serwer i tobie nic do tego. Na 99% klient Indy sobie poradzi z wiadomością wysłaną przez serwer.

1 użytkowników online, w tym zalogowanych: 0, gości: 1