mirror of
https://github.com/snltty/linker.git
synced 2026-03-14 01:50:52 +08:00
卡死bug
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
v1.9.9
|
||||
2026-02-02 15:34:03
|
||||
2026-02-03 22:40:58
|
||||
1. 一些累计更新,一些BUG修复
|
||||
2. 国家级别的连接限制
|
||||
3. 修复一些地方未能正确释放端口的问题
|
||||
|
||||
@@ -116,7 +116,7 @@ namespace linker.messenger.forward.proxy
|
||||
await token.Tcs.WithTimeout(TimeSpan.FromMilliseconds(15000)).ConfigureAwait(false);
|
||||
|
||||
token.ReadPacket.Flag = ForwardFlags.Psh;
|
||||
await Task.WhenAll(Sender(token), Recver(token, buffer, ForwardFlags.Psh)).ConfigureAwait(false);
|
||||
await Task.WhenAny(Sender(token), Recver(token, buffer, ForwardFlags.Psh)).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -198,7 +198,7 @@ namespace linker.messenger.forward.proxy
|
||||
await SendToConnection(token).ConfigureAwait(false);
|
||||
|
||||
token.ReadPacket.Flag = ForwardFlags.PshAck;
|
||||
await Task.WhenAll(Sender(token), Recver(token, buffer, ForwardFlags.PshAck)).ConfigureAwait(false);
|
||||
await Task.WhenAny(Sender(token), Recver(token, buffer, ForwardFlags.PshAck)).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace linker.messenger.relay.server
|
||||
RelayTrafficCacheInfo trafficCacheInfo = new RelayTrafficCacheInfo { Cache1 = relayCache, Cache = relayCache, Sendt = 0, Limit = new SpeedLimit(), Key = flowKey };
|
||||
relayServerNodeTransfer.AddTrafficCache(trafficCacheInfo);
|
||||
relayServerNodeTransfer.IncrementConnectionNum();
|
||||
await Task.WhenAll(CopyToAsync(trafficCacheInfo, socket, answerSocket), CopyToAsync(trafficCacheInfo, answerSocket, socket)).ConfigureAwait(false);
|
||||
await Task.WhenAny(CopyToAsync(trafficCacheInfo, socket, answerSocket), CopyToAsync(trafficCacheInfo, answerSocket, socket)).ConfigureAwait(false);
|
||||
relayServerNodeTransfer.DecrementConnectionNum();
|
||||
relayServerNodeTransfer.RemoveTrafficCache(trafficCacheInfo);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace linker.messenger.socks5
|
||||
await token.Tcs.WithTimeout(TimeSpan.FromMilliseconds(15000)).ConfigureAwait(false);
|
||||
|
||||
token.ReadPacket.Flag = ForwardFlags.Psh;
|
||||
await Task.WhenAll(Sender(token), Recver(token, buffer, ForwardFlags.Psh)).ConfigureAwait(false);
|
||||
await Task.WhenAny(Sender(token), Recver(token, buffer, ForwardFlags.Psh)).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -130,6 +130,7 @@ namespace linker.messenger.socks5
|
||||
token.ReadPacket.Flag = ForwardFlags.Rst;
|
||||
token.ReadPacket.Length = token.ReadPacket.HeaderLength;
|
||||
await SendToConnection(token).ConfigureAwait(false);
|
||||
|
||||
token.Disponse();
|
||||
}
|
||||
else
|
||||
@@ -193,7 +194,7 @@ namespace linker.messenger.socks5
|
||||
await SendToConnection(token).ConfigureAwait(false);
|
||||
|
||||
token.ReadPacket.Flag = ForwardFlags.PshAck;
|
||||
await Task.WhenAll(Sender(token), Recver(token, buffer, ForwardFlags.PshAck)).ConfigureAwait(false);
|
||||
await Task.WhenAny(Sender(token), Recver(token, buffer, ForwardFlags.PshAck)).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -426,7 +426,7 @@ namespace linker.tunnel.transport
|
||||
//发送给远端
|
||||
await remoteUdp.SendToAsync(buffer.AsMemory(0, result.ReceivedBytes), remoteEP).ConfigureAwait(false);
|
||||
|
||||
await Task.WhenAll(CopyToAsync(bufferSize, localUdp, remoteUdp, remoteEP), CopyToAsync(bufferSize, remoteUdp, localUdp, quicEp)).ConfigureAwait(false);
|
||||
await Task.WhenAny(CopyToAsync(bufferSize, localUdp, remoteUdp, remoteEP), CopyToAsync(bufferSize, remoteUdp, localUdp, quicEp)).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -550,7 +550,7 @@ namespace linker.tunnel.transport
|
||||
stateDic.AddOrUpdate((token.QuicUdp.LocalEndPoint as IPEndPoint).Port, token, (a, b) => token);
|
||||
|
||||
//然后就可以交换数据了
|
||||
await Task.WhenAll(CopyToAsync(bufferSize, token.RemoteUdp, token.QuicUdp, token.QuicEP), CopyToAsync(bufferSize, token.QuicUdp, token.RemoteUdp, token.RemoteEP)).ConfigureAwait(false);
|
||||
await Task.WhenAny(CopyToAsync(bufferSize, token.RemoteUdp, token.QuicUdp, token.QuicEP), CopyToAsync(bufferSize, token.QuicUdp, token.RemoteUdp, token.RemoteEP)).ConfigureAwait(false);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user