|
分類:[.NET 全般]
こんにちは。.NET 4.5 C#を使っています。
下の非同期ネットワーク通信の受信側のソースコードでns.ReadAsyncに入っている時に
(CancellationTokenSource)cts.Cancel();を叩いてもExceptionが飛びません。
何かを受信すればExceptionが飛びますが、受信しない場合は永遠に待ち続けます。
Cancelしたら受信待ちしていてもExceptionを飛ばす方法はありますか?
async void acceptClient(System.Net.Sockets.TcpClient client)
{
var ns = client.GetStream();
byte[] result_byte = new byte[256];
do
{
try
{
int result_size = await ns.ReadAsync(result_byte, 0, result_byte.Length, cts.Token);
}
catch (OperationCanceledException)
{
//(ry
}
//(ry
} while (ns.DataAvailable);
//(ry
}
|