From cd7ccd6bae295af9437bdf49bb15e738147ef8bc Mon Sep 17 00:00:00 2001 From: lidgren Date: Thu, 28 Apr 2011 06:55:58 +0000 Subject: [PATCH] Fixed host port switch detection --- Lidgren.Network/NetPeer.Internal.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lidgren.Network/NetPeer.Internal.cs b/Lidgren.Network/NetPeer.Internal.cs index b6ca9b3..aaa92b5 100644 --- a/Lidgren.Network/NetPeer.Internal.cs +++ b/Lidgren.Network/NetPeer.Internal.cs @@ -496,11 +496,14 @@ namespace Lidgren.Network // Lets just assume the router decided to use this port instead // var hsconn = hs.Value; - m_connectionLookup.Remove(hsconn.RemoteEndpoint); + m_connectionLookup.Remove(hs.Key); + m_handshakes.Remove(hs.Key); LogDebug("Detected host port change; rerouting connection to " + senderEndpoint); hsconn.MutateEndpoint(senderEndpoint); + m_connectionLookup.Add(senderEndpoint, hsconn); + m_handshakes.Add(senderEndpoint, hsconn); hsconn.ReceivedHandshake(now, tp, ptr, payloadByteLength); return;