Aplikacja webowa + UDP

0

Witam,

Mam do napisania aplikację webową działającą na Tomcacie, która będzie komunikować się z pewnymi klientami, w efekcie czego otrzyma od nich określone dane w pakietach UDP, i wyświetli je na stronie. Moje pytanie brzmi: czy jest to w ogóle możliwe, a jeśli tak to jak najlepiej by to zrealizować?

Pozdrawiam, i z góry dziękuję za ewentualną pomoc.

0

ServletContextListener wpisany w web.xml, przekazanie instancji ServletContext do nowego wątku utworzonego w contextInitialized() i zatrzymanie wątku z contextDestroyed(). Po otrzymaniu pakietu w owym wątku dopisujesz do kontekstu atrybut z wiadomością/listą wiadomości, jak tam już sobie chcesz.

Później w utworzonym serwlecie wyciągasz atrybut z kontekstu i wsadzasz do requestu, który przekierowujesz na jakiegoś jsp i wyświetlasz. Szczerze mówiąc nie wydaje mi się żeby sięganie do kontekstu z poziomu JSP było dobre.

0
Visher napisał(a):

ServletContextListener wpisany w web.xml, przekazanie instancji ServletContext do nowego wątku utworzonego w contextInitialized() i zatrzymanie wątku z contextDestroyed(). Po otrzymaniu pakietu w owym wątku dopisujesz do kontekstu atrybut z wiadomością/listą wiadomości, jak tam już sobie chcesz.

Później w utworzonym serwlecie wyciągasz atrybut z kontekstu i wsadzasz do requestu, który przekierowujesz na jakiegoś jsp i wyświetlasz. Szczerze mówiąc nie wydaje mi się żeby sięganie do kontekstu z poziomu JSP było dobre.

Dziękuję za odpowiedź.

Nawiązując do Twojego ostatniego zdania, to może masz dla mnie jakąś radę jakie rozwiązanie mogłoby być lepsze?

Pozdrawiam

0
legion18 napisał(a):

Nawiązując do Twojego ostatniego zdania, to może masz dla mnie jakąś radę jakie rozwiązanie mogłoby być lepsze?

Pozdrawiam

Oprócz mojego własnego uprzedzenia, pobieranie atrybutu kontekstu nie jest thread-safe. Jeżeli pokusisz się o blok synchronizacji w doGet(), stracony czas na synchronizowanie wykorzystasz raz i będziesz mógł zapisać obiekt w requescie, który jest tylko w obrębie jednego wątku, więc thread-safe. Bez tego musiał byś w JSP umieścić drugi blok synchronizacji i czekać drugi raz.

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