Advertisement
Donat0

Server

Sep 21st, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1. using System;
  2. using System.Diagnostics;
  3. using System.Drawing;
  4. using System.Drawing.Imaging;
  5. using System.IO;
  6. using System.Net;
  7. using System.Net.Sockets;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Server
  12. {
  13.     public partial class Server : Form
  14.     {
  15.         public Server()
  16.         {
  17.             InitializeComponent();
  18.         }
  19.         TcpListener tcpListener;
  20.         MemoryStream ms;
  21.         Stopwatch stopWatch = new Stopwatch();
  22.         public Bitmap ImageFromScreen()
  23.         {
  24.             Rectangle screenSize = Screen.PrimaryScreen.Bounds;
  25.             Bitmap target = new Bitmap(screenSize.Width, screenSize.Height);
  26.             using (Graphics g = Graphics.FromImage(target))
  27.                 g.CopyFromScreen(0, 0, 0, 0, new Size(screenSize.Width, screenSize.Height));
  28.             return target;
  29.         }
  30.         private async void Timer1_Tick(object sender, EventArgs e)
  31.         {
  32.             using (ms = new MemoryStream())
  33.                 ImageFromScreen().Save(ms, ImageFormat.Jpeg);
  34.             TcpClient tcpClient = await tcpListener.AcceptTcpClientAsync();        
  35.             using (NetworkStream networkStream = tcpClient.GetStream())
  36.             {
  37.                 byte[] lengthPrefix = BitConverter.GetBytes(ms.ToArray().Length);
  38.                 byte[] ret = new byte[lengthPrefix.Length + ms.ToArray().Length];
  39.                 lengthPrefix.CopyTo(ret, 0);
  40.                 ms.ToArray().CopyTo(ret, lengthPrefix.Length);
  41.                 await networkStream.WriteAsync(ret, 0, ret.Length);
  42.             }
  43.         }      
  44.         private void Button1_Click(object sender, EventArgs e)
  45.         {
  46.             tcpListener =  TcpListener.Create(8888);
  47.             tcpListener.Start();
  48.             label1.Text = "online";
  49.             timer1.Start();
  50.         }
  51.     }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement