public ChunkedBuffer ToBuffer(WebSocketFrame frame) { ObjectPool <byte[]> pool = new ObjectPool <byte[]>(() => { return(new byte[1024]); }); ChunkedBuffer buffer = new ChunkedBuffer(pool); frame.Write(buffer.Stream, true); return(buffer); }
public void TestTextFrameMasking() { WebSocketFrame frame = WebSocketFrame.CreateTextFrame("this is some really great text!", true, false, true); MemoryStream stream = new MemoryStream(); frame.Write(stream, true); stream.Position = 0; WebSocketFrame readFrame = WebSocketFrame.ParseFrame(stream); Assert.AreEqual(frame.DataAsString, readFrame.DataAsString); }
/// <summary> /// Handles WebSocketFrame(s) and translates them into raw frames. /// </summary> /// <param name="channel"></param> /// <param name="request"></param> private void HandleOutgoingFrames(ISockNetChannel channel, ref object data) { if (!(data is WebSocketFrame)) { return; } WebSocketFrame webSocketFrame = (WebSocketFrame)data; ChunkedBuffer buffer = new ChunkedBuffer(channel.BufferPool); webSocketFrame.Write(buffer.Stream); data = buffer; }