示例#1
0
文件: Program.cs 项目: cnsicau/rrs
        static void OnConnect(IPipeline pipeline, bool success, TunnelPipeline tunnelPipeline)
        {
            if (success == false)
            {
                return;
            }

            var packet = new BufferPacket(pipeline, new byte[] { 1, 2, 3 });

            packet.SetBufferSize(3);
            tunnelPipeline.Output(packet, CompleteOutput, default(object));
        }
示例#2
0
文件: tserver.cs 项目: cnsicau/rrs
        static void ProcessRequest(IPipeline pipeline, IPacket packet, object state)
        {
            var request = (HttpRequest)packet;
            var str     = ("HTTP/1.1 200 OK\r\n"
                           + "Transfer-Encoding: chunked\r\n"
                           + "\r\n"
                           + request.Uri.Length.ToString("X") + "\r\n"
                           + request.Uri + "\r\n"
                           + "0\r\n"
                           + "\r\n");
            var bytes    = Encoding.UTF8.GetBytes(str);
            var response = new BufferPacket(pipeline, bytes);

            response.SetBufferSize(bytes.Length);

            ((HttpPipeline)pipeline).TransPipeline.Output <object>(response
                                                                   , (a, b, c) => pipeline.Input <object>(ProcessRequest, null), null);
        }