У меня есть приложение C ++, которое должно отправлять структурированные данные актеру Akka. Лучший вариант, который я нашел (Google, stackoverflow …), это использовать буфер протокола и ZeroMQ, так как похоже, что все рекомендуют его.
Однако я целый день пытался заставить его работать, из-за различных сбоев в коде моего актера Scala (со странными ошибками сокетов Windows). И когда я смотрю глубже, я замечаю, что zeromq исчез из официальной документации Akka некоторое время назад, и в самой последней документации, которую я читал об этом, говорится, что ZeroMQ 3 все еще не поддерживается привязками zeromq-scala-bindings внизу. (пока версия 4 уже вышла).
Будет ли лучшим вариантом использовать расширение Camel-netty и передавать информацию через JSON?
Спасибо !
Довольно простым способом было бы написать конечную точку HTTP, используя Spray.io. Spray поддерживает JSON и, поскольку он построен на Akka, он легко взаимодействует с другими участниками. Это дает преимущество в том, что данные, которые вы отправляете в конечную точку, не должны соответствовать формату сообщения, ожидаемого Актером. Вы можете изменить сообщение, которое ожидает актер, без изменения того, что посылает ваш код C ++. Для двунаправленной связи есть также поддержка веб-сокетов.
Других решений пока нет …