[Modify] Goodbye, The last listener

This commit is contained in:
sta 2021-04-15 19:44:31 +09:00
parent ff548a4622
commit fb6ed6a467

View File

@ -67,7 +67,6 @@ namespace WebSocketSharp.Net
private StringBuilder _currentLine; private StringBuilder _currentLine;
private InputState _inputState; private InputState _inputState;
private RequestStream _inputStream; private RequestStream _inputStream;
private HttpListener _lastListener;
private LineState _lineState; private LineState _lineState;
private EndPointListener _listener; private EndPointListener _listener;
private EndPoint _localEndPoint; private EndPoint _localEndPoint;
@ -454,38 +453,24 @@ namespace WebSocketSharp.Net
private void registerContext (HttpListener listener) private void registerContext (HttpListener listener)
{ {
if (_lastListener != listener) {
removeConnection ();
if (!listener.AddConnection (this)) {
close ();
return;
}
_lastListener = listener;
}
_context.Listener = listener; _context.Listener = listener;
if (!_context.Authenticate ()) if (!_context.Authenticate ())
return; return;
if (!_context.Register ()) if (!_context.Register ()) {
_context.ErrorStatusCode = 503;
_context.SendError ();
return; return;
}
_contextRegistered = true; _contextRegistered = true;
} }
private void removeConnection () private void removeConnection ()
{ {
if (_lastListener == null) { _listener.RemoveConnection (this);
_listener.RemoveConnection (this);
return;
}
_lastListener.RemoveConnection (this);
} }
private void unregisterContext () private void unregisterContext ()