Exemplo n.º 1
0
        /// <summary>
        /// Stops receiving the WebSocket connection requests.
        /// </summary>
        public async Task Stop()
        {
            var msg = _state.CheckIfStart();

            if (msg != null)
            {
                return;
            }

            _state = ServerState.ShuttingDown;

            StopReceiving();
            await _services.Stop(new CloseEventArgs(), true, true).ConfigureAwait(false);

            _state = ServerState.Stop;
        }
Exemplo n.º 2
0
 public void Stop()
 {
     lock (_sync)
     {
         string text = _state.CheckIfStart();
         if (text != null)
         {
             _logger.Error(text);
             return;
         }
         _state = ServerState.ShuttingDown;
     }
     _services.Stop(new CloseEventArgs(), send: true, wait: true);
     stopReceiving(5000);
     _state = ServerState.Stop;
 }
Exemplo n.º 3
0
        /// <summary>
        /// Stops receiving the WebSocket connection requests.
        /// </summary>
        public void Stop()
        {
            lock (_sync) {
                var msg = _state.CheckIfStart();
                if (msg != null)
                {
                    _logger.Error(msg);
                    return;
                }

                _state = ServerState.ShuttingDown;
            }

            stopReceiving(5000);
            _services.Stop(new CloseEventArgs(), true, true);

            _state = ServerState.Stop;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Stops receiving the WebSocket connection requests.
        /// </summary>
        public void Stop()
        {
            lock (_sync) {
                var msg = _state.CheckIfStart();
                if (msg != null)
                {
                    _logger.Error(String.Format("{0}\nstate: {1}", msg, _state));
                    return;
                }

                _state = ServerState.ShuttingDown;
            }

            stopListener(5000);
            _services.Stop(new byte [0], true);

            _state = ServerState.Stop;
        }
        public void Broadcast(byte[] data)
        {
            string text = _state.CheckIfStart() ?? data.CheckIfValidSendData();

            if (text != null)
            {
                _logger.Error(text);
            }
            else if (data.LongLength <= 2147483633)
            {
                broadcast(Opcode.Binary, data, null);
            }
            else
            {
                broadcast(Opcode.Binary, new MemoryStream(data), null);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Sends binary <paramref name="data"/> to every client in the WebSocket services.
        /// </summary>
        /// <param name="data">
        /// An array of <see cref="byte"/> that represents the binary data to send.
        /// </param>
        public void Broadcast(byte[] data)
        {
            var msg = _state.CheckIfStart() ?? data.CheckIfValidSendData();

            if (msg != null)
            {
                _logger.Error(msg);
                return;
            }

            if (data.LongLength <= WebSocket.FragmentLength)
            {
                broadcast(Opcode.Binary, data, null);
            }
            else
            {
                broadcast(Opcode.Binary, new MemoryStream(data), null);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Broadcasts a binary <paramref name="data"/> to every client in the WebSocket services.
        /// </summary>
        /// <param name="data">
        /// An array of <see cref="byte"/> that represents the binary data to broadcast.
        /// </param>
        public Task <bool> Broadcast(byte[] data)
        {
            var msg = _state.CheckIfStart() ?? data.CheckIfValidSendData();

            if (msg != null)
            {
                return(Task.FromResult(false));
            }

            return(data.LongLength <= _fragmentSize
                ? InnerBroadcast(Opcode.Binary, data)
                : InnerBroadcast(Opcode.Binary, new MemoryStream(data)));
        }
 private string checkIfCanSend(Func <string> checkParams)
 {
     return(_state.CheckIfStart() ?? checkParams());
 }