From 0876c6b35dae187b3d6448614cae72ec0f18f8a5 Mon Sep 17 00:00:00 2001 From: xljiulang <366193849@qq.com> Date: Sun, 18 Jul 2021 23:48:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8D=95=E8=8E=B7OperationAborted=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FastGithub.Dns/DnsServerHostedService.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/FastGithub.Dns/DnsServerHostedService.cs b/FastGithub.Dns/DnsServerHostedService.cs index 27cc65e..034605e 100644 --- a/FastGithub.Dns/DnsServerHostedService.cs +++ b/FastGithub.Dns/DnsServerHostedService.cs @@ -127,10 +127,17 @@ namespace FastGithub.Dns var remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); while (stoppingToken.IsCancellationRequested == false) { - var result = await this.socket.ReceiveFromAsync(this.buffer, SocketFlags.None, remoteEndPoint); - var datas = new byte[result.ReceivedBytes]; - this.buffer.AsSpan(0, datas.Length).CopyTo(datas); - this.HandleRequestAsync(datas, result.RemoteEndPoint, stoppingToken); + try + { + var result = await this.socket.ReceiveFromAsync(this.buffer, SocketFlags.None, remoteEndPoint); + var datas = new byte[result.ReceivedBytes]; + this.buffer.AsSpan(0, datas.Length).CopyTo(datas); + this.HandleRequestAsync(datas, result.RemoteEndPoint, stoppingToken); + } + catch (SocketException ex) when (ex.SocketErrorCode == SocketError.OperationAborted) + { + break; + } } }