サーバーでホストされる 1 つの wcf サービスと 1 つのデスクトップ クライアントが存在するような小さな通信アプリを開発したいと考えています。2 人が wcf サービスを介して相互に対話するとします。client1 が client2 にデータを送信すると、データは wcf サービスに送信され、wcf サービスはデータを client2 にプッシュします。wcf サービスの簡単な助けを借りて、基本的な通信アプリケーションを開発します。画面共有というユーティリティをアプリに追加したいと考えています。
client1 は自分のデスクトップ画面を client2 に送信します。デスクトップ画像をキャプチャして画像全体をバイト配列に変換し、そのバイト配列をclient2に渡すと、client2はバイト配列を画像に変換して画像を自分のピクチャボックスに設定するのが非常に簡単であることを知っています。パフォーマンスが悪く遅くなります。そのため、人々が自分の画面を他のユーザーと共有するアプリを開発する方法と、ネットワーク経由で最小限のデータを送信する方法を知る必要があります。実際の標準を取得するためにGoogleをよく検索しましたが、何も取得しませんでした。
だから私はこのフォーラムのすべての人に、この問題を実際のコンセプトで詳細に話し合うようにお願いします.
私のポイントは
1)画像全体を何度も送信するのではなく、ネットワーク経由で2つの画像の違いのみを送信する方法を教えてください。2つの画像の違いを取得するために使用できる画像処理ライブラリがたくさんありますが、どちらが最適で非常に高速かわかりません....2つの画像の違いを取得するのに数ミリ秒かかります。
2)2つの画像の違いを抽出した後、ネットワーク経由で違いを送信できますが、client2側で現在の画像に違いを適用するにはどうすればよいですか。これはとても重要です。
3) client2 で picturebox が頻繁に更新される場合、ちらつきが目立つ場合があります。このちらつきを回避するにはどうすればよいですか? client2側で画像をスムーズに切り替えるにはどうすればよいですか?
可能な場合のように助けが必要な方法で、2つの画像の違いを抽出するために使用できるコードスニペットを含むライブラリを提案してください。
また、client2 側で現在のイメージに差分を適用するために使用できるルーチンを教えてください。
client2側でちらつきなく画像をスムーズに切り替える方法をもう一度教えてください。
多くの学者が毎秒このフォーラムを訪れているので、C# の疑似コードに関する詳細な議論が期待されます。ありがとう