Skip to content

Commit

Permalink
perf: AcceptTcpClientAsync => AcceptSocketAsync
Browse files Browse the repository at this point in the history
  • Loading branch information
HMBSbige committed Sep 2, 2021
1 parent 82bc867 commit f3f12a7
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 20 deletions.
12 changes: 6 additions & 6 deletions HttpProxy/HttpSocks5Service.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;

Expand All @@ -77,7 +77,7 @@ private async Task HandleAsync(TcpClient rec, CancellationToken token)
}
finally
{
rec.Dispose();
socket.FullClose();
}

static bool IsSocks5Header(ReadOnlySequence<byte> buffer)
Expand Down
16 changes: 8 additions & 8 deletions Shadowsocks.Protocol/ListenServices/TcpListenService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;

Expand Down Expand Up @@ -99,7 +99,7 @@ private async Task HandleAsync(TcpClient rec, CancellationToken token)
}
finally
{
rec.Dispose();
socket.FullClose();
_logger.LogInformation(@"{0} {1} disconnected", LoggerHeader, remoteEndPoint);
}
}
Expand Down
12 changes: 6 additions & 6 deletions Socks5/Servers/SimpleSocks5Server.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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);

Expand Down Expand Up @@ -118,7 +118,7 @@ private async ValueTask HandleAsync(TcpClient rec, CancellationToken token)
}
finally
{
rec.Dispose();
socket.FullClose();
}
}

Expand Down

0 comments on commit f3f12a7

Please sign in to comment.