Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Diagnostics;
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.IO;
- using System.Net;
- using System.Net.Sockets;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace Server
- {
- public partial class Server : Form
- {
- public Server()
- {
- InitializeComponent();
- }
- TcpListener tcpListener;
- MemoryStream ms;
- Stopwatch stopWatch = new Stopwatch();
- public Bitmap ImageFromScreen()
- {
- Rectangle screenSize = Screen.PrimaryScreen.Bounds;
- Bitmap target = new Bitmap(screenSize.Width, screenSize.Height);
- using (Graphics g = Graphics.FromImage(target))
- g.CopyFromScreen(0, 0, 0, 0, new Size(screenSize.Width, screenSize.Height));
- return target;
- }
- private async void Timer1_Tick(object sender, EventArgs e)
- {
- using (ms = new MemoryStream())
- ImageFromScreen().Save(ms, ImageFormat.Jpeg);
- TcpClient tcpClient = await tcpListener.AcceptTcpClientAsync();
- using (NetworkStream networkStream = tcpClient.GetStream())
- {
- byte[] lengthPrefix = BitConverter.GetBytes(ms.ToArray().Length);
- byte[] ret = new byte[lengthPrefix.Length + ms.ToArray().Length];
- lengthPrefix.CopyTo(ret, 0);
- ms.ToArray().CopyTo(ret, lengthPrefix.Length);
- await networkStream.WriteAsync(ret, 0, ret.Length);
- }
- }
- private void Button1_Click(object sender, EventArgs e)
- {
- tcpListener = TcpListener.Create(8888);
- tcpListener.Start();
- label1.Text = "online";
- timer1.Start();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement