Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. using System.Windows.Data;
  8. using System.Windows.Documents;
  9. using System.Windows.Input;
  10. using System.Windows.Media;
  11. using System.Windows.Media.Imaging;
  12. using System.Windows.Navigation;
  13. using System.Windows.Shapes;
  14. using System.Net;
  15. using System.Net.Sockets;
  16. using System.Net.Mime;
  17. using System.Threading;
  18. using System.Windows.Threading;
  19. using System.IO;
  20. using System.Collections;
  21.  
  22. namespace t1
  23. {
  24.     /// <summary>
  25.     /// Interaction logic for MainWindow.xaml
  26.     /// </summary>
  27.     public partial class MainWindow : Window
  28.     {
  29.         ArrayList aforismit = new ArrayList();
  30.         public MainWindow()
  31.         {
  32.             InitializeComponent();
  33.         }
  34.  
  35.         private void Window_Loaded(object sender, RoutedEventArgs e)
  36.         {
  37.             lueTiedosto();
  38.             IPHostEntry osoite = Dns.GetHostEntry("");
  39.             this.Title = osoite.HostName;
  40.  
  41.             TcpListener serveri = new TcpListener(osoite.AddressList[0], 9501);
  42.             serveri.Start();
  43.             serveri.BeginAcceptTcpClient(new AsyncCallback(serverCallBack), serveri);
  44.         }
  45.  
  46.         private void lueTiedosto()
  47.         {
  48.             StreamReader sr = new StreamReader(@"C:\Documents and Settings\vejuruus\My Documents\Visual Studio 2010\Projects\demo7\aforismit.txt");
  49.             string aforismi;
  50.             while ((aforismi = sr.ReadLine()) != null)
  51.             {
  52.                 aforismit.Add(aforismi);
  53.             }
  54.             sr.Close();
  55.         }
  56.  
  57.  
  58.         public void serverCallBack(IAsyncResult Ar)
  59.         {
  60.             TcpListener serveri = (TcpListener)Ar.AsyncState;
  61.             TcpClient clientti = (TcpClient)serveri.EndAcceptTcpClient(Ar);
  62.  
  63.             NetworkStream ns = clientti.GetStream();
  64.             StreamReader sr = new StreamReader(ns);
  65.             StreamWriter sw = new StreamWriter(ns);
  66.  
  67.             ArrayList data = new ArrayList();
  68.             string apu;
  69.             while (sr.Peek() != -1)
  70.             {
  71.                 try
  72.                 {
  73.                     apu = sr.ReadLine();
  74.                     addToListBox(listBox1, apu);
  75.                     data.Add(apu);
  76.                 }
  77.                 catch (IOException)
  78.                 {
  79.                     break;
  80.                 }
  81.                 Thread.Sleep(0);
  82.             }
  83.  
  84.             if (data[0].ToString().Substring(0, 3) == "GET")
  85.             {
  86.                 sw.WriteLine("HTTP/1.x 200 OK");
  87.                 sw.WriteLine("Content-type: text/html");
  88.                 sw.WriteLine("\n");
  89.                 Random randomi = new Random();
  90.                 sw.WriteLine("<html><head><title>Aforismikone</title></head><body><h1>{0}</h1></body></html>", aforismit[randomi.Next(aforismit.Count)]);
  91.             }
  92.  
  93.             sw.Close();
  94.             sr.Close();
  95.             ns.Close();
  96.             serveri.BeginAcceptTcpClient(new AsyncCallback(serverCallBack), serveri);
  97.         }
  98.  
  99.         private void addToListBox(ListBox b, string e)
  100.         {
  101.             this.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() =>
  102.             {
  103.                 b.Items.Add(e);
  104.             }));
  105.         }
  106.  
  107.     }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement