/// <summary> /// Starts receiving the HTTP requests. /// </summary> public void Start() { lock (_sync) { var msg = _state.CheckIfAvailable(true, false, false) ?? checkIfCertificateExists(); if (msg != null) { _logger.Error(msg); return; } _services.Start(); startReceiving(); _state = ServerState.Start; } }
/// <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.CheckIfAvailable(false, true, false) ?? 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> /// Sends binary <paramref name="data"/> to every client in the WebSocket service. /// </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.CheckIfAvailable(false, true, false) ?? WebSocket.CheckSendParameter(data); if (msg != null) { _logger.Error(msg); return; } #if NETCF if (data.Length <= WebSocket.FragmentLength) #else if (data.LongLength <= WebSocket.FragmentLength) #endif { broadcast(Opcode.Binary, data, null); } else { broadcast(Opcode.Binary, new MemoryStream(data), null); } }