私は問題を抱えています。私は、.NETプログラムからWindows 10 UWP(.NETCore)プログラムへの私のデスクトップコンテンツのストリームを提供するアプリケーションを開発したいと考えています。Bitmap Stream TCPClientからStreamSocketListenerへ
私はこのロジックに従うことによって、通常のWindowsフォームとして、このアプリケーションを作成しました:
クライアント:デスクトップをつかむために使用
- Bitmapオブジェクト。
- ビットマップをシリアル化するBinaryFormatter。
- TCPClientはTCP経由でデータを送信します。
サーバー:
- TCPListenerがデータを受信します。
- ストリームはBinaryFormatterを使用して逆シリアル化されます。
- ビットマップはイメージボックスに表示されます。
私はUWPとしてサーバー側を再作成したいと考えています。私は問題なくStreamSocketListenerを使用してTCP接続を成功させることができましたが、UWPのBinaryFormatterの置き換え方法はわかりません。私の現在のアプローチは、DataReaderを使用してバイトストリームを読み込むことですが、ビットマップイメージ全体を受信するというコンセプトを把握できないため、再度組み立てることはできません。これについてのヒントをいただければ幸いです。私は、クライアント/サーバースニペットを含めました以下:
クライアント:
private void SendDeskTopImageOverTCP()
{
BinaryFormatter binFormatter = new BinaryFormatter();
mainStream = client.GetStream();
// Get Desktop bitmap and send over TCP Stream.
binFormatter.Serialize(mainStream, GetDesktopBitmap());
}
サーバー:
// What do we do when a connection is made?
private async void OnConnection(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
// Indicate Connection Received!
Debug.WriteLine("Connection Received!");
// Data Stream Reader
DataReader reader = new DataReader(args.Socket.InputStream);
// Wait until one or more bytes available
reader.InputStreamOptions = InputStreamOptions.Partial;
// Load data from the input stream
await reader.LoadAsync(200);
while (reader.UnconsumedBufferLength > 0)
{
await reader.LoadAsync(200);
//View byte stream??
Debug.WriteLine(reader.ReadByte());
}
私の謝罪これは単純な問題であれば、私はに私の最善を試してみましたドキュメントに従って、私はこれを遭遇していない似たような問題について遠くて広い検索した。だから、どんな助けもありがとう。
これはまだ問題ですか? – czifro