Safiron

VIA - HTTP SERVER

Sep 17th, 2012
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.49 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Net;
  6. using System.IO;
  7.  
  8. namespace HttpServer
  9. {
  10.     /// <summary>
  11.     /// HTTP SERVER BY BADASS 'SOBIESKI' SAPHIRONOV
  12.     /// </summary>
  13.     class Program
  14.     {
  15.         private static void Main(string[] args)
  16.         {
  17.             while (true)
  18.             {
  19.                 HttpServer("http://*:8080/via/"); // JAKÁKOLIV ADRESA S PORTEM 8080 KTEROU NÁSLEDUJE /via/
  20.             }
  21.         }
  22.  
  23.         public static void HttpServer(string adress)
  24.         {
  25.             // VYTVOŘÍME HTTP LISTENER TEN NÁM UMOŽNÍ NASLOUCHAT NA DANÉ ADRESE
  26.             HttpListener listener = new HttpListener();
  27.  
  28.             // PŘIDÁME MU DO SEZNAMU ADRESU, KTEROU CHCEME NASLOUCHAT
  29.             listener.Prefixes.Add(adress);
  30.  
  31.             // ZAPNEME LISTENER
  32.             listener.Start();
  33.             Console.WriteLine("Server ceka na zavolani");
  34.  
  35.             // HTTPLISTENERCONTEXT NÁM UMOŽNUJE PŘÍSTUP K OBJEKTŮM REQUEST A RESPONSE KTERÉ VYUŽÍVÁ LISTENER
  36.             // GETCONTEXT() ČEKÁ NA TO DOKUD SERVER NĚKDO NEZAVOLÁ (NEZADÁ DO PROHLÍŽEČE http://adresaserveru:8080/via/)
  37.             HttpListenerContext context = listener.GetContext();
  38.  
  39.             // VYTVOŘÍME OBJEKT REQUEST - MÁ INFORMACE O SAMOTNÉ ŽÁDODSTI NA SERVER (NAPŘ. ADRESU ŽADATELE ATD.)
  40.             HttpListenerRequest request = context.Request;
  41.  
  42.             // OBJEKT RESPONCE REPREZENTUJE ODPOVĚD NA ŽÁDOST, KTEROU ZPRACOVÁVÁ LISTENER
  43.             HttpListenerResponse response = context.Response;
  44.  
  45.             // VYTVOŘÍME ODPOVĚD
  46.             string htmlResponse = "<html><center><b>TAK URCITE</b></center></html>";
  47.  
  48.             // PŘEVEDU STRING NA BYTE POLE PRO ODESLÁNÍ
  49.             byte[] buffer = Encoding.UTF8.GetBytes(htmlResponse);
  50.  
  51.             // NASTAVÍME DÉLKU ODPOVĚDI PODLE VELIKOSTI NAŠÍ ODPOVĚDI
  52.             response.ContentLength64 = buffer.Length;
  53.  
  54.             // VYTVOŘÍME STREAM PRO ODESLÁNÍ - V OBJEKTU RESPONSE UŽ JE ADRESA A VŠECHNO CO JE TŘEBA PRO ODESLÁNÍ ODPOVĚDI
  55.             Stream output = response.OutputStream;
  56.  
  57.             // ODEŠLEME VE STREAMEM CELÉ BYTE POLE
  58.             output.Write(buffer, 0, buffer.Length);
  59.  
  60.             // POZAVÍRÁME TO VŠECKO
  61.             output.Close();
  62.             listener.Stop();
  63.  
  64.             Console.WriteLine("Server byl zavolan");
  65.             Console.WriteLine("----------------------");
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment