Advertisement
zefie

mini http sim

Aug 12th, 2014
540
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.25 KB | None | 0 0
  1.             if (enablestartsnd)
  2.             {
  3.                 int port = Zefie.Tools.generateRandomNumber(1024, 65534);
  4.                 BackgroundWorker bw = new BackgroundWorker();
  5.                 bw.DoWork += new DoWorkEventHandler(
  6.                     delegate(object o, DoWorkEventArgs arg)
  7.                     {
  8.                         while (!Zefie.Tools.isPortAvailable(port))
  9.                             port = Zefie.Tools.generateRandomNumber(1024, 65534);
  10.                         TcpListener tcp = new TcpListener(new System.Net.IPAddress(16777343), port);
  11.                         Socket sock;
  12.                         tcp.Start();
  13.                         while (tcp.Server.IsBound)
  14.                         {
  15.                             sock = tcp.AcceptSocket();
  16.                             byte[] readbyte = new byte[4096];
  17.  
  18.                             sock.Receive(readbyte, SocketFlags.None);
  19.                             byte[] httpheaders = Encoding.ASCII.GetBytes("HTTP/1.0 200 OK\r\n" +
  20.                                                                          "Date: " + DateTime.UtcNow.ToLocalTime().ToString() + "\r\n" +
  21.                                                                          "Server: Zefie's YouTube Browser Internal HTTP Simulator\r\n" +
  22.                                                                          "MIME-version: 1.0\r\n" +
  23.                                                                          "Last-Modified: " + DateTime.UtcNow.ToLocalTime().ToString() + "\r\n" +
  24.                                                                          "Content-Type: application/octet-stream\r\n" +
  25.                                                                          "Content-Length: " + Properties.Resources.intromus.Length + "\r\n\r\n");
  26.                             sock.Send(httpheaders);
  27.                             sock.Send(Properties.Resources.intromus);
  28.                             sock.Close();
  29.                             tcp.Stop();
  30.                         }
  31.                         tcp = null;
  32.                         sock = null;
  33.                         GC.Collect();
  34.                     });
  35.                 bw.RunWorkerAsync();
  36.                 vlcPlayMedia("http://127.0.0.1:" + port, true);
  37.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement