卡死bug

This commit is contained in:
snltty
2026-02-03 22:40:58 +08:00
parent 8adc9ff666
commit 4dbef66652
5 changed files with 9 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
v1.9.9
2026-02-02 15:34:03
2026-02-03 22:40:58
1. 一些累计更新一些BUG修复
2. 国家级别的连接限制
3. 修复一些地方未能正确释放端口的问题

View File

@@ -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)
{

View File

@@ -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);
}

View File

@@ -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)
{

View File

@@ -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)
{