Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 17-15 extracted from chapter Input/Output and streams


Listing 17-14<     > Listing 17-16


This listing can be compiled with the command line:
csc.exe /target:exe Example_17_15.cs
Errors: 0 Warnings: 0


Example_17_15.cs
using System;
using System.Net;
using System.IO;
class Program {
   static void Main() {
      HttpListener httpListener = new HttpListener();
      string uri = string.Format("http://localhost:8008/hello/");
      httpListener.Prefixes.Add(uri);
      httpListener.Start();
      while (true) {
         IAsyncResult result = 
            httpListener.BeginGetContext(ProcessResponse, httpListener);
         System.Threading.Thread.Sleep(1000);
      }
   }
   private static void ProcessResponse( IAsyncResult result ) {
      HttpListener httpListener = result.AsyncState as HttpListener;
      HttpListenerContext ctx = httpListener.EndGetContext(result);
      ctx.Response.ContentType = "text/html";
      TextWriter writer = new StreamWriter(
         ctx.Response.OutputStream, System.Text.Encoding.Unicode);
      writer.WriteLine(
        "<html><body><b>Page asked at {0}</b><br/>URL:{1}</body></html>",
        System.DateTime.Now, ctx.Request.Url );
      writer.Flush();
      writer.Close();
   }
}	
Copyright Patrick Smacchia 2006 2007