Client-Server Application
Добавлено: 13 июн 2005, 10:27
Вдохновлённый темой Создание сетевого приложения решил написать себе что-то.
Точнее сказать пока что это графическая доска: Java Web Graphic Board
Клиентскую часть я сделал, как Java-Applet (можно рисовать на Canvas), серверную - php (почему? Потому что большинство веб-серверов его поддерживает).
Код апплета, кому интересно, можно глянуть тут: Painter.java
Серверная часть сейчас очень проста:
По POST она принимает линии (4 int) и пишет в файл их и время добавления.
При обращении клиентов считывает всё, после последней метки считывания.
-----
1. Информацию пересылаю по HTTP - медленно,
через Sockets было бы, наверное, быстрее?..
Но ... у меня в локальной сети (общежитие) сокеты закрыты.
Кроме того, выход из сети через прокси (прямое соединения от сервера ко мне установить нельзя) и уверен, что такие ограничения не только у меня бывают.
Чтобы оставить универсальность программы - предпочитаю делать так, как есть
2. Работа с файлами - очень долго.
Как можно реализовать хранение и доступ к данным быстрее?
Писать в БД? Если будет много временных меток (вроди как пока что не предпологается) - было бы быстрее искать.
Иначе - всё равно ведь в конечном итоге из файлов читается, не так ли?
Что мне приходит в голову - поставить на сервере JBOSS, и запихнуть туда Session EJB, для каждого пользователя создаётся своё Бин и лежит в памяти (быстродоступно) до конца работы.
Но ... хотелось бы, относительной, универсальности кода.
А далеко не на всякий сервер можно выложить Бины ...
Не говоря уже о бесплатных серверах (а о чём иначе может быть речь при амматорском проэкте студента?..).
Хостинг с поддержкой сервлетов и jsp у меня есть.
Но, может ли это как-то помочь?
И последнее.
Графика это, конечно же, хорошо.
Но ... в планах было бы туда ещё звук прикрутить ...
Stream ....
Писать это в файлы или в БД - глупо ... наверное ...
Создавать файлы у пользователя в Апплете, аплоадить их на сервер, а потом отдавать по мере надобности?
Не представляю.
В общем.
Если у кого-то есть идеи/знания по этому поводу - буду рад их услышать!
Точнее сказать пока что это графическая доска: Java Web Graphic Board
Клиентскую часть я сделал, как Java-Applet (можно рисовать на Canvas), серверную - php (почему? Потому что большинство веб-серверов его поддерживает).
Код апплета, кому интересно, можно глянуть тут: Painter.java
Серверная часть сейчас очень проста:
По POST она принимает линии (4 int) и пишет в файл их и время добавления.
При обращении клиентов считывает всё, после последней метки считывания.
-----
1. Информацию пересылаю по HTTP - медленно,
через Sockets было бы, наверное, быстрее?..
Но ... у меня в локальной сети (общежитие) сокеты закрыты.
Кроме того, выход из сети через прокси (прямое соединения от сервера ко мне установить нельзя) и уверен, что такие ограничения не только у меня бывают.
Чтобы оставить универсальность программы - предпочитаю делать так, как есть
2. Работа с файлами - очень долго.
Как можно реализовать хранение и доступ к данным быстрее?
Писать в БД? Если будет много временных меток (вроди как пока что не предпологается) - было бы быстрее искать.
Иначе - всё равно ведь в конечном итоге из файлов читается, не так ли?
Что мне приходит в голову - поставить на сервере JBOSS, и запихнуть туда Session EJB, для каждого пользователя создаётся своё Бин и лежит в памяти (быстродоступно) до конца работы.
Но ... хотелось бы, относительной, универсальности кода.
А далеко не на всякий сервер можно выложить Бины ...
Не говоря уже о бесплатных серверах (а о чём иначе может быть речь при амматорском проэкте студента?..).
Хостинг с поддержкой сервлетов и jsp у меня есть.
Но, может ли это как-то помочь?
И последнее.
Графика это, конечно же, хорошо.
Но ... в планах было бы туда ещё звук прикрутить ...
Stream ....
Писать это в файлы или в БД - глупо ... наверное ...
Создавать файлы у пользователя в Апплете, аплоадить их на сервер, а потом отдавать по мере надобности?
Не представляю.
В общем.
Если у кого-то есть идеи/знания по этому поводу - буду рад их услышать!