Webカメラの画像をリアルタイムで同じPCのC#アプリケーションに送る必要があるC++アプリケーションがあります。 C++コードはC#コードから呼び出すことができないので、画像を送るために名前付きパイプ経由で通信を実装する必要があります。Windowsで名前付きパイプを使って作業する(C++/C#)
私は以前に通信プログラミングをしていませんでした。この問題にどう対処するのかと思いました。
私の最初の考えは、別のスレッドで名前付きパイプサーバーを作成し、作成後にイメージが送信可能になるまでスレッドが継続的に待機することでした。その時点で、それは画像を送るでしょう。
同様に、C#アプリケーションはクライアントとして機能する新しいスレッドを作成します。それはサーバに接続し、画像が利用可能になるまで連続的にループします。その時点で、イメージを受け取り、メインスレッドがアクセスできるキューに格納します。
これは意味がありますか?これが最善のアプローチですか?
良い質問ですが、プログラマーズに所属していると思います.stackexchange.com。これは、典型的にここに属するものより概念的です。 – NotMe
これらのイメージを永続的に保存する必要がある場合、メモリマップされたファイルがおそらくより良いアプローチになります。 – Flot2011
C++アプリケーションの各フレームでは、名前付きメモリマップファイルに画像全体を格納し、C#アプリケーションから読み取ることができます。上記のようにメモリマップファイルへの読み書きを処理するために、それぞれの側に新しいスレッドを作成する必要がありますか? – Jkh2