2012-12-20 9 views
6

robie projekt na Java i GWT i utknął w jednej części Chcę utworzyć przypomnienie, że jest jak użytkownik wpisze datę i godzinę, a w tym czasie pop-up powinien być wyświetlany przypominający użytkownikowi jego wydarzenia. Czy ktoś może zaproponować mi jakieś podejście do osiągnięcia tego celu?Przypomnienie w GWT

Kiedy googled dla rozwiązania znalazłem kilka rzeczy związanych z timerów w GWT ale myślę czasomierz posiada metodę schedule() który trwa milisekundy jako parametr, ale data i czas konwersji w milisekundach nie wydaje się więc wszelkie rozwiązania inna alternatywa jest wysoko ceniona.

+0

+1 za pytanie. Może to być podstawowy problem, jeśli musisz zsynchronizować się z serwerem w poszukiwaniu nowych pozostałości (http i asynchronizacja oznacza żądania odczytywania rpc na podstawie zegara) lub wyobrażam sobie smoki .... – SSR

+1

@Durrat, mówisz "Konwertuj datę i godzinę na milisekundy nie wydaje się rozwiązaniem ". Dlaczego nie? To byłoby proste rozwiązanie tylko po stronie klienta. Dlatego jeśli użytkownik zamknie aplikację, przypomnienie zniknie. Można jednak zachować go w przeglądarce przy użyciu pliku cookie. Jeśli naprawdę, naprawdę potrzebujesz rozwiązania, które wymaga serwera, sugeruję zajrzeć do GwtEventService zgodnie z sugestią "mudalov". –

Odpowiedz

4

Nie można sobie z tym poradzić tylko z zegarami. Wygląda na to, że musisz zaimplementować logikę po stronie serwera, aby to osiągnąć.

  1. użytkownikowi wybrać czas i datę zdarzenia na klienta -> wywołanie serwer przechowywać go gdzieś (może być prosta RPC lub Ajax połączenia)
  2. powiadamiania użytkownika może zostać osiągnięty przez kilka sposobów :

    • Simple polling - zapytaj serwer z klienta co wydarzyło się od zdarzenia ostatnie sprawdzenie co N (powiedzmy 10) sekund, używając wywołań Ajax. Serwer musi porównać aktualny czas i wysłać listy zdarzeń z powrotem do klienta

    • Long poll lub Hidden Iframe być wykorzystywane do pchania zdarzeń do klienta - bardziej skomplikowane, ale również mogą być realizowane

Możesz także przejrzeć GwtEventService, aby zarządzać swoimi zdarzeniami między serwerem i klientem.

Wreszcie logika pozostaje prosta - klient musi słuchać z serwerao się wydarzenia i okno pop-up, aby pokazać się w przewodnika.

+0

Zmiana - łączenie z odpytywaniem (stackoveflow nie pozwala edytować, gdy zmiana jest mniejsza niż 6 znaków) – SSR

+0

Thx za korektę) – udalmik

+0

hej marcel thanx..i myśl, że konwertowanie daty i godziny na msec nie jest standardowym sposobem i kiedy moje zdarzenie jest Stworzony, jest zapisany w pliku na serwerze, więc naprawdę nie potrzebuję zaangażowania serwera, więc obliczyć msec i zrobić moje rzeczy ... thanx ... – Durrat