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);
        }
Exemplo n.º 2
0
        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;
            }