| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Апплеты > Динамическая передача данных в апплет |
| Автор: vendigo11 18.10.2009, 11:59 | ||
| Такая проблема... Данные с сервера передаются Java-апплету.
Метод init вызывается только при создании апплета. paint при повреждении апплета. Как сделать чтобы данные в апплет передавались динамически и изображение динамически перерисовывалось, без пересоздания апплета. (Т.е один раз создал апплет,а потом лишь передавать ему параметры)? |
| Автор: COVD 18.10.2009, 19:39 |
| Это способ передачи не данных, а параметров инициализации. Инициализация приложения (апплета) происходит один раз. После инициализации клиентское приложение (апплет) для общения с сервером может установить или постоянное сокетное соединение с сервером (протокол tcp или др. , http://java.sun.com/docs/books/tutorial/networking/sockets/index.html , http://java.sun.com/developer/onlineTraining/Programming/BasicJava2/socket.html) или воспользоваться схемой "запрос-ответ", которая органично реализуется в протоколе http ( http://java.sun.com/docs/books/tutorial/networking/urls/index.html). Предпочтительнее применение http , т.к. это снимает ограничения, связанные с файерволами, т.е. позволяет приложению соединяться с сервером отовсюду, где есть интернет, ибо http на 80-й порт - стандарт для интернет. |
| Автор: Aver91 16.1.2010, 21:00 |
| верно было подмечено, что нужно установить сокетное соединение с сервером, создать inputstream объект. а дальше организовать проверку на принятый параметр(можно даже в отдельном потоке) и если он отличается, то вызвать метод repaint(), который в свою очередь вызовет метод paint() с новыми параметрами. итого получим динамическую перерисовку. после работы приложения в методе destroy() апплета закрываем входной поток и сокет методом close() |