Exemplo n.º 1
0
        public void Setup()
        {
            log.Debug("setting up comet client");
            ns = new NetworkStream(s, FileAccess.ReadWrite);
            bs = new BufferedStream(ns);
            sr = new StreamReader(ns);
            sw = new StreamWriter(bs);
            log.Debug("parsing request ");
            if( ! parseRequest() )
                return;
            log.Debug("reading headers");
            readHeaders();
            log.Debug("done reading headers");
            if( querystring == null || querystring["sid"] == null )
                return;
            context = Context.GetContext(querystring["sid"], CacheKey);
            if (context != null)
            {
                log.Debug("found context for ", querystring["sid"] );
                this.Context = context;
                writer.Context = context;
                context.ConnectComet(this);
            }
            else
            {

                Write("alert('Comet lost context.');");
                Shutdown();
            }
            writeSuccess();
        }