2012-03-25 10 views
0

私の現在のプロジェクトでは、さまざまなコンポーネントがZeroMQソケットを使用して通信するコンピュータビジョンアプリケーション用に、さまざまなOSとリモートシステム間で通信するための高速フレームワークを構築します。これは標準C++(Non-Cli)でうまく動作します。ZeroMQ C++からC#への通信

私は最近、C#でコーディングされたアプリケーションとのインターフェイスが必要なユースケースを発見しました。 clrzmq 2.2.2でガイド(ローカルホスト上)から "Hello World"の例をコンパイルして実行しています。私は2つのプログラムを通信することはできません(C#で1つ、C#で1つ)。

C#サーバーはC++クライアントから要求を受け取りますが、それ以降は何も起こりません。ハングしたように見えますが、これはC#の応答に問題があることを示します。このガイドからコンパイルされたC++サーバーをC#サーバーに置き換えても問題ありません。

誰かがZMQを使って.NETと通信するためのC++アプリケーションを取得した経験がありますか?これは私が見つけることができたどんなドキュメンテーションでもカバーされていないので、私はどんな助けにも感謝します。

+1

異なる言語、OS、ハードウェアなどの間で通信すると、0mqと違いはありません。予期しない動作を引き起こす絶対最小限のコードを投稿した場合は、問題の解決に役立ちます。 – Irfy

+0

私は助けることができません、私は恐れていますが、私はあなたが一人ではないことを確認することができます。私は最近、clrzmqを見て、Pythonピアから接続するときに同じ問題を認識しました。私はちょうど周りを回っていたので、私は理由を発見するために十分に調査しなかった。 –

+0

それは私が思ったことです、私はそれがプラットフォーム間で連載することが最善であることを知っています。 WindowsからLinuxへ、私はこれにGoogleプロトコルバッファを使用していますが、この特定の問題はZMQチュートリアルページコードの最小コードを次のように使っているだけです: – nkift

答えて

1

これはアプリケーションのバグである可能性があります。私たちは問題なく走っているようなプログラムを持っています。 C#からC++へ。

+2

解決済み:デバッグ後も問題は解決していないので、最初から始め、zeromq-2.1.11をC++に使用してライブラリをソースから再構築し、NuGet clrzmq .NETバインディングv.2.2.3。 C#の場合。この例題をやり直してみると、今は完璧に動作します。私はどこかに壊れているか不一致な図書館があったと思います。ご協力ありがとうございました。 – nkift