Advertisement
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.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- using System.Net;
- using System.Net.Sockets;
- using System.Net.Mime;
- using System.Threading;
- using System.Windows.Threading;
- using System.IO;
- using System.Collections;
- namespace t1
- {
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- public partial class MainWindow : Window
- {
- ArrayList aforismit = new ArrayList();
- public MainWindow()
- {
- InitializeComponent();
- }
- private void Window_Loaded(object sender, RoutedEventArgs e)
- {
- lueTiedosto();
- IPHostEntry osoite = Dns.GetHostEntry("");
- this.Title = osoite.HostName;
- TcpListener serveri = new TcpListener(osoite.AddressList[0], 9501);
- serveri.Start();
- serveri.BeginAcceptTcpClient(new AsyncCallback(serverCallBack), serveri);
- }
- private void lueTiedosto()
- {
- StreamReader sr = new StreamReader(@"C:\Documents and Settings\vejuruus\My Documents\Visual Studio 2010\Projects\demo7\aforismit.txt");
- string aforismi;
- while ((aforismi = sr.ReadLine()) != null)
- {
- aforismit.Add(aforismi);
- }
- sr.Close();
- }
- public void serverCallBack(IAsyncResult Ar)
- {
- TcpListener serveri = (TcpListener)Ar.AsyncState;
- TcpClient clientti = (TcpClient)serveri.EndAcceptTcpClient(Ar);
- NetworkStream ns = clientti.GetStream();
- StreamReader sr = new StreamReader(ns);
- StreamWriter sw = new StreamWriter(ns);
- ArrayList data = new ArrayList();
- string apu;
- while (sr.Peek() != -1)
- {
- try
- {
- apu = sr.ReadLine();
- addToListBox(listBox1, apu);
- data.Add(apu);
- }
- catch (IOException)
- {
- break;
- }
- Thread.Sleep(0);
- }
- if (data[0].ToString().Substring(0, 3) == "GET")
- {
- sw.WriteLine("HTTP/1.x 200 OK");
- sw.WriteLine("Content-type: text/html");
- sw.WriteLine("\n");
- Random randomi = new Random();
- sw.WriteLine("<html><head><title>Aforismikone</title></head><body><h1>{0}</h1></body></html>", aforismit[randomi.Next(aforismit.Count)]);
- }
- sw.Close();
- sr.Close();
- ns.Close();
- serveri.BeginAcceptTcpClient(new AsyncCallback(serverCallBack), serveri);
- }
- private void addToListBox(ListBox b, string e)
- {
- this.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() =>
- {
- b.Items.Add(e);
- }));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement