2

WinRT/Metro アプリで StreamSocket.InputStream.ReadAsync() を使用してバイト読み取りを行っていますが、実際に読み取られたバイト数を知る必要があります。この読み取りは同期読み取りとして扱われており、同期読み取りのままにしておく必要があります。

関連するコード スニペットは次のとおりです。

var receivedTask = this._socket.InputStream.ReadAsync(buffer.AsBuffer(), length, Windows.Storage.Streams.InputStreamOptions.None);
receivedTask.AsTask().Start();
receivedTask.AsTask().Wait(timeout);
// Need code here to get the number of bytes received

if (receivedBytes > 0)
{
    receivedTotal += receivedBytes;
    continue;
}
else
{
    // Socket Closed
}
4

0 に答える 0