|
|
|
@ -800,6 +800,43 @@ namespace WebSocketSharp.Server
|
|
|
|
abort ();
|
|
|
|
abort ();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void start ()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (_state == ServerState.Start) {
|
|
|
|
|
|
|
|
_log.Info ("The server has already started.");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (_state == ServerState.ShuttingDown) {
|
|
|
|
|
|
|
|
_log.Warn ("The server is shutting down.");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lock (_sync) {
|
|
|
|
|
|
|
|
if (_state == ServerState.Start) {
|
|
|
|
|
|
|
|
_log.Info ("The server has already started.");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (_state == ServerState.ShuttingDown) {
|
|
|
|
|
|
|
|
_log.Warn ("The server is shutting down.");
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_services.Start ();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
startReceiving ();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
catch {
|
|
|
|
|
|
|
|
_services.Stop (1011, String.Empty);
|
|
|
|
|
|
|
|
throw;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_state = ServerState.Start;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void startReceiving ()
|
|
|
|
private void startReceiving ()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_listener.Start ();
|
|
|
|
_listener.Start ();
|
|
|
|
|