Pergunta

Eu tenho um programa C ++ que está constantemente gerando uma grande quantidade de dados que precisam ser enviados a um servidor Rails.O programa e o servidor estão na mesma máquina executando Suse Linux.

Qual é a solução mais eficiente e simples para isso?

Foi útil?

Solução

Os soquetes são o caminho a percorrer.Se você quiser bons soquetes assíncronos e de plataforma cruzada em C ++, sua melhor aposta, provavelmente, será boost :: asio.

Outras dicas

Você pode armazenar os dados da maneira que quiser (arquivo ou banco de dados).

O único ponto difícil é deixar seu aplicativo Rails ciente de que o programa C ++ está concluído.
Eu recomendo fortemente que você armazene essas informações em cache para que não custe muito verificar isso a cada período de que você precisar.

Você poderia usar sockets já que ambos os seus programas residem na mesma máquina local e, em geral, deve ser bastante simples enviar os dados serializados por um socket local.Como o soquete está usando um buffer interno, o tempo de transferência deve ser muito rápido.Seu programa C ++ pode enviar dados para o servidor Rails, ou você pode fazer o servidor Rails pesquisar o programa C ++, desde que você configure um cache em seu programa C ++ para armazenar os dados entre as chamadas de pesquisa.O método push provavelmente funcionaria melhor, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top