/// <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; }
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; }
/// <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; }
/// <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); } }
/// <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); } }
/// <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()); }