Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Net;
- using System.IO;
- namespace HttpServer
- {
- /// <summary>
- /// HTTP SERVER BY BADASS 'SOBIESKI' SAPHIRONOV
- /// </summary>
- class Program
- {
- private static void Main(string[] args)
- {
- while (true)
- {
- HttpServer("http://*:8080/via/"); // JAKÁKOLIV ADRESA S PORTEM 8080 KTEROU NÁSLEDUJE /via/
- }
- }
- public static void HttpServer(string adress)
- {
- // VYTVOŘÍME HTTP LISTENER TEN NÁM UMOŽNÍ NASLOUCHAT NA DANÉ ADRESE
- HttpListener listener = new HttpListener();
- // PŘIDÁME MU DO SEZNAMU ADRESU, KTEROU CHCEME NASLOUCHAT
- listener.Prefixes.Add(adress);
- // ZAPNEME LISTENER
- listener.Start();
- Console.WriteLine("Server ceka na zavolani");
- // HTTPLISTENERCONTEXT NÁM UMOŽNUJE PŘÍSTUP K OBJEKTŮM REQUEST A RESPONSE KTERÉ VYUŽÍVÁ LISTENER
- // GETCONTEXT() ČEKÁ NA TO DOKUD SERVER NĚKDO NEZAVOLÁ (NEZADÁ DO PROHLÍŽEČE http://adresaserveru:8080/via/)
- HttpListenerContext context = listener.GetContext();
- // VYTVOŘÍME OBJEKT REQUEST - MÁ INFORMACE O SAMOTNÉ ŽÁDODSTI NA SERVER (NAPŘ. ADRESU ŽADATELE ATD.)
- HttpListenerRequest request = context.Request;
- // OBJEKT RESPONCE REPREZENTUJE ODPOVĚD NA ŽÁDOST, KTEROU ZPRACOVÁVÁ LISTENER
- HttpListenerResponse response = context.Response;
- // VYTVOŘÍME ODPOVĚD
- string htmlResponse = "<html><center><b>TAK URCITE</b></center></html>";
- // PŘEVEDU STRING NA BYTE POLE PRO ODESLÁNÍ
- byte[] buffer = Encoding.UTF8.GetBytes(htmlResponse);
- // NASTAVÍME DÉLKU ODPOVĚDI PODLE VELIKOSTI NAŠÍ ODPOVĚDI
- response.ContentLength64 = buffer.Length;
- // VYTVOŘÍME STREAM PRO ODESLÁNÍ - V OBJEKTU RESPONSE UŽ JE ADRESA A VŠECHNO CO JE TŘEBA PRO ODESLÁNÍ ODPOVĚDI
- Stream output = response.OutputStream;
- // ODEŠLEME VE STREAMEM CELÉ BYTE POLE
- output.Write(buffer, 0, buffer.Length);
- // POZAVÍRÁME TO VŠECKO
- output.Close();
- listener.Stop();
- Console.WriteLine("Server byl zavolan");
- Console.WriteLine("----------------------");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment