Example #1
0
		public WebSocket(DiscordWSClient client)
		{
			_client = client;
			_logLevel = client.Config.LogLevel;

			_loginTimeout = client.Config.ConnectionTimeout;
			_cancelToken = new CancellationToken(true);
			_connectedEvent = new ManualResetEventSlim(false);
			
			_engine = new WebSocketSharpEngine(this, client.Config);
			_engine.BinaryMessage += (s, e) =>
			{
				using (var compressed = new MemoryStream(e.Data, 2, e.Data.Length - 2))
				using (var decompressed = new MemoryStream())
				{
					using (var zlib = new DeflateStream(compressed, CompressionMode.Decompress))
						zlib.CopyTo(decompressed);
					decompressed.Position = 0;
                    using (var reader = new StreamReader(decompressed))
						ProcessMessage(reader.ReadToEnd()).Wait();
				}
            };
			_engine.TextMessage += (s, e) =>
			{
				/*await*/ ProcessMessage(e.Message).Wait();
			};
		}
Example #2
0
        public WebSocket(DiscordWSClient client)
        {
            _client   = client;
            _logLevel = client.Config.LogLevel;

            _loginTimeout   = client.Config.ConnectionTimeout;
            _cancelToken    = new CancellationToken(true);
            _connectedEvent = new ManualResetEventSlim(false);

            _engine = new WebSocketSharpEngine(this, client.Config);
            _engine.BinaryMessage += (s, e) =>
            {
                using (var compressed = new MemoryStream(e.Data, 2, e.Data.Length - 2))
                    using (var decompressed = new MemoryStream())
                    {
                        using (var zlib = new DeflateStream(compressed, CompressionMode.Decompress))
                            zlib.CopyTo(decompressed);
                        decompressed.Position = 0;
                        using (var reader = new StreamReader(decompressed))
                            ProcessMessage(reader.ReadToEnd()).Wait();
                    }
            };
            _engine.TextMessage += (s, e) =>
            {
                /*await*/ ProcessMessage(e.Message).Wait();
            };
        }
Example #3
0
 public VoiceWebSocket(DiscordWSClient client)
     : base(client)
 {
     _rand     = new Random();
     _decoders = new ConcurrentDictionary <uint, OpusDecoder>();
     _targetAudioBufferLength = client.Config.VoiceBufferLength / 20;             //20 ms frames
     _encodingBuffer          = new byte[MaxOpusSize];
     _ssrcMapping             = new ConcurrentDictionary <uint, string>();
     _encoder    = new OpusEncoder(48000, 1, 20, Opus.Application.Audio);
     _sendBuffer = new VoiceBuffer((int)Math.Ceiling(client.Config.VoiceBufferLength / (double)_encoder.FrameLength), _encoder.FrameSize);
 }
		public VoiceWebSocket(DiscordWSClient client)
			: base(client)
		{
			_rand = new Random();
			_decoders = new ConcurrentDictionary<uint, OpusDecoder>();
			_targetAudioBufferLength = client.Config.VoiceBufferLength / 20; //20 ms frames
			_encodingBuffer = new byte[MaxOpusSize];
			_ssrcMapping = new ConcurrentDictionary<uint, string>();
			_encoder = new OpusEncoder(48000, 1, 20, Opus.Application.Audio);
			_sendBuffer = new VoiceBuffer((int)Math.Ceiling(client.Config.VoiceBufferLength / (double)_encoder.FrameLength), _encoder.FrameSize);
        }
 public DataWebSocket(DiscordWSClient client)
     : base(client)
 {
 }
		public DataWebSocket(DiscordWSClient client)
			: base(client)
		{
		}