protected override async Task SendAsync(WampMessage <object> message) { using (WebSocketMessageWriteStream stream = mWebsocket.CreateMessageWriter(WebSocketMessageType.Binary)) { byte[] raw = mBinding.Format(message); await stream.WriteAsync(raw, 0, raw.Length).ConfigureAwait(false); } }
public WebSocketDeflateWriteStream([NotNull] WebSocketMessageWriteStream innerStream) { if (innerStream == null) { throw new ArgumentNullException(nameof(innerStream)); } this.innerStream = innerStream; this.deflateStream = new DeflateStream(innerStream, CompressionLevel.Optimal, leaveOpen: true); }
/// <summary> /// Sends a byte array to the client /// </summary> /// <param name="message">The byte array to send</param> /// <returns></returns> public async Task SendMessage(byte[] message) { if (!Socket.IsConnected) { return; } using (WebSocketMessageWriteStream messageWriter = Socket.CreateMessageWriter(WebSocketMessageType.Binary)) await messageWriter.WriteAsync(message, 0, message.Length); }
public WebSocketDeflateWriteStream(WebSocketMessageWriteStream inner) { if (inner == null) { throw new ArgumentNullException(nameof(inner)); } _inner = inner; _deflate = new DeflateStream(_inner, CompressionMode.Compress, true); }
public WebSocketMessageWriteStream ExtendWriter(WebSocketMessageWriteStream message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } message.ExtensionFlags.Rsv1 = true; return(new WebSocketDeflateWriteStream(message)); }
public WebSocketDeflateWriteStream([NotNull] WebSocketMessageWriteStream innerStream) { if (innerStream == null) { throw new ArgumentNullException(nameof(innerStream)); } this.innerStream = innerStream; this.bufferManager = innerStream.Options.BufferManager; this.deflaterBuffer = this.bufferManager.TakeBuffer(this.bufferManager.LargeBufferSize); this.deflater = new Deflater(Deflater.DEFAULT_COMPRESSION, noZlibHeaderOrFooter: false); }
protected override async Task SendAsync(WampMessage <object> message) { string raw = mBinding.Format(message); using (WebSocketMessageWriteStream stream = mWebsocket.CreateMessageWriter(WebSocketMessageType.Text)) { using (StreamWriter streamWriter = new StreamWriter(stream)) { await streamWriter.WriteAsync(raw) .ConfigureAwait(false); } } }
/// <summary> /// Sends a message to the client, but only if the client has subscribed to the given channel /// </summary> /// <param name="message">The message to send</param> /// <param name="dataChannel">The data channel that the message belongs to</param> /// <returns></returns> public async Task SendMessage(string message, string dataChannel) { if (!Socket.IsConnected) { return; } if (!SubscribedChannels.Contains(dataChannel)) { return; } using (WebSocketMessageWriteStream writer = Socket.CreateMessageWriter(WebSocketMessageType.Text)) { using (StreamWriter sw = new StreamWriter(writer, Encoding.UTF8)) { await sw.WriteAsync(message); } } }
public WebSocketMessageWriteStream ExtendWriter(WebSocketMessageWriteStream message) { message.ExtensionFlags.Rsv1 = true; return(new WebSocketDeflateWriteStream(message)); }
public WebSocketDeflateWriteStream(WebSocketMessageWriteStream inner) { _inner = inner; _deflate = new DeflateStream(_inner, CompressionMode.Compress, true); }
public WebSocketDeflateWriteStream(WebSocketMessageWriteStream inner) { _inner = inner; _deflate = new DeflateStream(_inner, CompressionMode.Compress, true); }
public WebSocketMessageWriteStream ExtendWriter(WebSocketMessageWriteStream message) { message.ExtensionFlags.Rsv1 = true; return new WebSocketDeflateWriteStream(message); }