Windows 8 UI アプリケーションに問題があります。私はクライアント/サーバー通信を使用しており、クライアントは常に新しいメッセージをチェックする必要があります。したがって、_socket が StreamSoket であるようなコードを使用します。
private async static void MessageReceiver()
{
var dataReader = new DataReader(_socket.InputStream);
dataReader.InputStreamOptions = InputStreamOptions.Partial;
var stringHeader = await dataReader.LoadAsync(4);
if (stringHeader != 0)
{
var bytes = new byte[4];
dataReader.ReadBytes(bytes);
var length = BitConverter.ToInt32(bytes, 0);
var count = await dataReader.LoadAsync((uint) length);
var result = dataReader.ReadString(count);
ParseRequest(result);
}
dataReader.DetachStream();
MessageReceiver();
}
しかし、2 番目の LoadAsync で文字列を読み取ろうとすると、ObjectDisposedException が発生します。手伝ってもらえますか?なぜそのような例外がスローされるのかわかりません。DataReader.InputStream.ReadAsync() も使用しようとしましたが、このような問題もありました。