@vista1x

Как правильно реализовать общение компьютеров?

Имеется:
1) Главный компьютер. На нем стоят:
a) веб сервер
b) служба (сервис), слушающая порт N и выполняющая некоторые действия при получении определенных сообщений

2) Другой компьютер, находящийся с первым в одной локальной сети. На нем стоит только служба, и делает она то же самое, что и 1.b

С веб-оболочки посылаются сообщения службе (сервису) - все хорошо. Однако, появилась необходимость получения ответа от самой службы (соответственно, ответ необходимо получить в PHP-скрипте).
В идеале это должно выглядеть так:
Посылаем сообщение компьютеру 1, ждем ответа, читаем ответ, делаем то что нужно. Посылаем сообщение компьютеру 2.. и т.д.
Каким образом это оптимальнее всего сделать? Очень важна скорость.

Наведите на нужные мысли. Спасибо.
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 1
Все зависит от того, что у вас за сервис, насколько он сам по себе выдерживает параллельные запросы, в каком формате он отдает данные, какая нагрузка планируется и где прогнозируется "узкое место". Если сам по себе сервис быстрый и выплевывает небольшие порции данных в своем формате и планируются большие нагрузки, то узким местом вероятно станет веб-сервер. Тогда оптимально написать свой асинхронный прокси-демон, который будет конвертировать HTTP-запрос в запрос к сервисам, а данные, возвращаемые сервисами в JSON или XML, из PHP ничего напрямую не дергать, а подгружать JSON или XML непосредственно со страницы AJAX'ом и парсить их в браузере.
Если сервис медленный, запросы тяжелые или он ограничен количеством одновременных запросов, то особого смысла оптимизировать нет, используйте семафоры и делайте запросы непосредственно из PHP.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽