diff --git a/websocket-sharp/Net/EndPointListener.cs b/websocket-sharp/Net/EndPointListener.cs index 56d5441d..17f7a5e4 100644 --- a/websocket-sharp/Net/EndPointListener.cs +++ b/websocket-sharp/Net/EndPointListener.cs @@ -176,7 +176,7 @@ namespace WebSocketSharp.Net if (_all != null && _all.Count > 0) return; - EndPointManager.RemoveEndPoint (_endpoint, this); + EndPointManager.RemoveEndPoint (this); } private static RSACryptoServiceProvider createRSAFromFile (string filename) diff --git a/websocket-sharp/Net/EndPointManager.cs b/websocket-sharp/Net/EndPointManager.cs index 1d60c8c7..f479e051 100644 --- a/websocket-sharp/Net/EndPointManager.cs +++ b/websocket-sharp/Net/EndPointManager.cs @@ -160,13 +160,14 @@ namespace WebSocketSharp.Net #region Internal Methods - internal static void RemoveEndPoint (IPEndPoint endpoint, EndPointListener endpointListener) + internal static void RemoveEndPoint (EndPointListener endpointListener) { lock (((ICollection) _ipToEndpoints).SyncRoot) { - var eps = _ipToEndpoints[endpoint.Address]; - eps.Remove (endpoint.Port); + var addr = endpointListener.Address; + var eps = _ipToEndpoints[addr]; + eps.Remove (endpointListener.Port); if (eps.Count == 0) - _ipToEndpoints.Remove (endpoint.Address); + _ipToEndpoints.Remove (addr); endpointListener.Close (); }