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(); }