#c #networking #cloud
#c #сеть #облако
Вопрос:
Я хочу, чтобы мое серверное приложение могло отправлять данные для обработки нескольким различным клиентам, а затем возвращать обработанные данные на сервер.
В идеале у меня был бы какой-нибудь вызов вроде some_process = send_to_client_for_calculating(connection, data)
Мне просто нужно иметь возможность отправлять кучу данных клиенту, указывать клиенту, что делать (предпочтительно в том же сообщении, что можно сделать с помощью массива [command, data]), а затем возвращать данные…
Я разбиваю фрагменты нейронной сети (они очень большие), а затем собираю их все позже.
Если мне нужно пояснить, дайте мне знать, как это сделать.
Комментарии:
1. Это сильно зависит от того, как вы собираетесь это программировать. Есть Boost. Asio, MPI, удаленные вызовы процедур и т.д.
Ответ №1:
Я шокирован, что никто не выбросил это туда… как насчет boost::asio.
Комментарии:
1. 1 это фактическая сетевая библиотека для приложений C любого масштаба.
Ответ №2:
Почему бы вам не взглянуть на использование Apache ActiveMQ? Это Java JMS-сервер, но он имеет привязки к C и делает то, что вы хотите, с минимумом написания сетевого кода. По сути, вы просто подписываетесь на сообщения и отправляете ответы обратно. Сервер MQ заботится об отправке и сохранении сообщений за вас.
Ответ №3:
Вы могли бы попробовать использовать beanstalkd, быстро работающую очередь. Я не знаю, подходит ли это для ваших целей. Существует клиентская библиотека, написанная на C, которую вы должны иметь возможность использовать с C .
Ответ №4:
Я бы посоветовал взглянуть на gSOAP, который реализует SOAP на C , включая создание сетей.