Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Клиент-серверное приложение


Автор: AntiInt 7.10.2010, 18:23
Всем привет!
Тут возникла такая ситуация:надо клиент-серверное приложение.
Суть такова: куча тонких клиентов и один сервер, клиенты отправляют серверу задания(возможно одновременно), а сервер их выполняет.
Что посоветуете:
1)На сервере поток слушает порт и при приходе команды запускает еще поток на выполнение, а сам дальше слушает.
2)Поток слушает и складывает команды в очередь, а несколько других потоков эти задачи обрабатывают
Или ,плз, предложите что- то другое.
И как это лучше делать посоветуйте , плз: сокетами, ремоутингом или еще как?
Заранее благодарен!

Автор: jonie 8.10.2010, 14:31
Цитата


И как это лучше делать посоветуйте , плз: сокетами, ремоутингом или еще как?
Всё смешалось в доме Облонских. Жена узнала, что муж был в связи с бывшею в их доме француженкою-гувернанткой.....

Давайте разобъем вашу систему на несколько слоёв в классической системе "модель-вид-контроллер".
Видом у вас как вы сами сказали будет тонкий клиент.
Контроллером нечто, создающее задачу и..
.. и складывающее задачу в модель.

Как общаться между контроллером и видом? Зависит от ваших предпочтений. Я предпочитаю REST подход  - когда над вашими задачами строится API, которое может производить как выборку, так и добавление "задач". Выборка  хоть и не указана в задаче, но вероятно понадобится. Однако, возможно будет проще использовать SOAP... Дело вкуса. Я не понимаю как вы хотите использовать сокеты на тонком клиенте напрямик....

Насчет обработки надо почитать про обслуживание очередей потребителей в программировании и выбрать нужный вам подход. Мне больше по душе вариант (2), вами же предложенный. Зависит от того как долго будут выполняться задачи например и сколько их вообще...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)