This is one of those examples that really gives you an idea just how much dev time the .NET platform saves you. This is a extremely basic web server.

PHP Code: 
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

using c System.Console;


namespace 
Hyperz.BasicWebServer
{
    public class 
Program
    
{
        private static 
String address;
        private static 
Thread listenThread;
        private static 
HttpListener listener;

        public static 
void Main(string[] args)
        {
            
c.WriteLine("[{0:HH:mm}] Initializing"DateTime.Now);

            
// the address we want to listen on
            
address "http://127.0.0.1:80/";

            
// setup thread
            
listenThread = new Thread(Worker);
            
listenThread.IsBackground true;
            
listenThread.Priority ThreadPriority.Normal;

            
// setup listener
            
listener = new HttpListener();
            
listener.Prefixes.Add(address);

            
// Gogogo
            
listenThread.Start(null);

            
// prevent the console window from closing
            
while (truec.ReadKey(true);
        }

        private static 
void Worker(object state)
        {
            
// start listening
            
listener.Start();

            
c.WriteLine("[{0:HH:mm}] Running"DateTime.Now);

            
// request -> response loop
            
while (true)
            {
                
HttpListenerContext context listener.GetContext();
                
HttpListenerRequest request context.Request;
                
                
c.WriteLine(
                    
"[{0:HH:mm}] Request received from {1}",
                    
DateTime.Now,
                    
request.LocalEndPoint.Address
                
);

                
/* respond to the request.
                 * in this case it'll show "Server appears to be working".
                 * regardless of what file/path was requested.
                 */
                
using (HttpListenerResponse response context.Response)
                {
                    
string html "<b>Server appears to be working!</b>";
                    
byte[] data Encoding.UTF8.GetBytes(html);

                    
response.ContentType "text/html";
                    
response.ContentLength64 data.Length;

                    
using (Stream output response.OutputStream)
                    {
                        
output.Write(data0data.Length);
                    }
                }

                
c.WriteLine(
                    
"[{0:HH:mm}] Handled request for {1}",
                    
DateTime.Now,
                    
request.LocalEndPoint.Address
                
);
            }
        }
    }



All that in 90 lines of code. C# .
Hyperz Reviewed by Hyperz on . [C#] Tiny Web Server (snippet) This is one of those examples that really gives you an idea just how much dev time the .NET platform saves you. This is a extremely basic web server. using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; Rating: 5