Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
            }
        }