From f3f12a7e3ef686b8e4c3f68e9e4c8e9d93a2171d Mon Sep 17 00:00:00 2001 From: Bruce Wayne Date: Thu, 2 Sep 2021 16:39:37 +0800 Subject: [PATCH] perf: AcceptTcpClientAsync => AcceptSocketAsync --- HttpProxy/HttpSocks5Service.cs | 12 ++++++------ .../ListenServices/TcpListenService.cs | 16 ++++++++-------- Socks5/Servers/SimpleSocks5Server.cs | 12 ++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/HttpProxy/HttpSocks5Service.cs b/HttpProxy/HttpSocks5Service.cs index 431a5fa..0b27aea 100644 --- a/HttpProxy/HttpSocks5Service.cs +++ b/HttpProxy/HttpSocks5Service.cs @@ -37,9 +37,9 @@ public async ValueTask StartAsync() TcpListener.Start(); while (!_cts.IsCancellationRequested) { - var rec = await TcpListener.AcceptTcpClientAsync(); - rec.NoDelay = true; - HandleAsync(rec, _cts.Token).Forget(); + var socket = await TcpListener.AcceptSocketAsync(); + socket.NoDelay = true; + HandleAsync(socket, _cts.Token).Forget(); } } catch (Exception) @@ -48,11 +48,11 @@ public async ValueTask StartAsync() } } - private async Task HandleAsync(TcpClient rec, CancellationToken token) + private async Task HandleAsync(Socket socket, CancellationToken token) { try { - var pipe = rec.Client.AsDuplexPipe(); + var pipe = socket.AsDuplexPipe(); var result = await pipe.Input.ReadAsync(token); var buffer = result.Buffer; @@ -77,7 +77,7 @@ private async Task HandleAsync(TcpClient rec, CancellationToken token) } finally { - rec.Dispose(); + socket.FullClose(); } static bool IsSocks5Header(ReadOnlySequence buffer) diff --git a/Shadowsocks.Protocol/ListenServices/TcpListenService.cs b/Shadowsocks.Protocol/ListenServices/TcpListenService.cs index 8fe9360..2344a1b 100644 --- a/Shadowsocks.Protocol/ListenServices/TcpListenService.cs +++ b/Shadowsocks.Protocol/ListenServices/TcpListenService.cs @@ -45,11 +45,11 @@ public async ValueTask StartAsync() while (!_cts.IsCancellationRequested) { - var rec = await TCPListener.AcceptTcpClientAsync(); - rec.NoDelay = true; + var socket = await TCPListener.AcceptSocketAsync(); + socket.NoDelay = true; - _logger.LogInformation(@"{0} {1} => {2}", LoggerHeader, rec.Client.RemoteEndPoint, rec.Client.LocalEndPoint); - HandleAsync(rec, _cts.Token).Forget(); + _logger.LogInformation(@"{0} {1} => {2}", LoggerHeader, socket.RemoteEndPoint, socket.LocalEndPoint); + HandleAsync(socket, _cts.Token).Forget(); } } catch (Exception ex) @@ -59,12 +59,12 @@ public async ValueTask StartAsync() } } - private async Task HandleAsync(TcpClient rec, CancellationToken token) + private async Task HandleAsync(Socket socket, CancellationToken token) { - var remoteEndPoint = rec.Client.RemoteEndPoint; + var remoteEndPoint = socket.RemoteEndPoint; try { - var pipe = rec.Client.AsDuplexPipe(LocalPipeReaderOptions); + var pipe = socket.AsDuplexPipe(LocalPipeReaderOptions); var result = await pipe.Input.ReadAsync(token); var buffer = result.Buffer; @@ -99,7 +99,7 @@ private async Task HandleAsync(TcpClient rec, CancellationToken token) } finally { - rec.Dispose(); + socket.FullClose(); _logger.LogInformation(@"{0} {1} disconnected", LoggerHeader, remoteEndPoint); } } diff --git a/Socks5/Servers/SimpleSocks5Server.cs b/Socks5/Servers/SimpleSocks5Server.cs index 52fb5a7..ad0d873 100644 --- a/Socks5/Servers/SimpleSocks5Server.cs +++ b/Socks5/Servers/SimpleSocks5Server.cs @@ -52,9 +52,9 @@ public async ValueTask StartAsync() TcpListener.Start(); while (!_cts.IsCancellationRequested) { - var rec = await TcpListener.AcceptTcpClientAsync(); - rec.NoDelay = true; - HandleAsync(rec, _cts.Token).Forget(); + var socket = await TcpListener.AcceptSocketAsync(); + socket.NoDelay = true; + HandleAsync(socket, _cts.Token).Forget(); } } catch (Exception) @@ -63,11 +63,11 @@ public async ValueTask StartAsync() } } - private async ValueTask HandleAsync(TcpClient rec, CancellationToken token) + private async ValueTask HandleAsync(Socket socket, CancellationToken token) { try { - var pipe = rec.Client.AsDuplexPipe(); + var pipe = socket.AsDuplexPipe(); var service = new Socks5ServerConnection(pipe, _credential); await service.AcceptClientAsync(token); @@ -118,7 +118,7 @@ private async ValueTask HandleAsync(TcpClient rec, CancellationToken token) } finally { - rec.Dispose(); + socket.FullClose(); } }