示例#1
0
        protected override void RunAlice()
        {
            MemoryStream  msStream = new MemoryStream();
            NetworkStream sIn      = StreamAlice;
            NetworkStream sOut     = StreamBob;

            try
            {
                while (bSouldRun)
                {
                    int         iLen         = 0;
                    HTTPRequest htreq        = new eExNetworkLibrary.HTTP.HTTPRequest(sIn, out iLen);
                    HTTPMessage htreqForward = ModifyRequest(htreq);
                    if (htreqForward != null)
                    {
                        byte[] bData = htreqForward.RawBytes;
                        sOut.Write(bData, 0, bData.Length);
                        sOut.Flush();
                    }
                }
            }
            catch (HTTPParserStreamEndedException ex)
            { }
            catch (ObjectDisposedException ex)
            { throw new NetworkStreamModifierException("A network stream was forcibly closed, but " + this.ToString() + " still had data to write.", ex); }
        }
示例#2
0
 protected override eExNetworkLibrary.HTTP.HTTPMessage ModifyRequest(eExNetworkLibrary.HTTP.HTTPRequest httpRequest)
 {
     return(ModifyMessage(httpRequest));
 }