private void StartCaptureScreen(SocketSession session) { int sleepValue = 1000; int fpsValue = 1; while (true) { if (!_isRunning) { return; } fpsValue = _request.fps; sleepValue = 1000 / fpsValue; for (int i = 0; i < fpsValue; i++) { ResponseStartGetScreen resp = new ResponseStartGetScreen(); try { resp.SetImage(ScreenUtil.CaptureScreen2(), ImageFormat.Jpeg); } catch (Exception ex) { resp.Result = false; resp.Message = ex.Message; resp.Detail = ex.StackTrace; } session.Send(ePacketType.PACKET_START_CAPTURE_SCREEN_RESPONSE, resp); Thread.Sleep(sleepValue); } } }
public void HandleScreen(ResponseStartGetScreen resp) { if (this.InvokeRequired) { this.Invoke(new Action <ResponseStartGetScreen>(HandleScreen), resp); return; } try { this.pictureBox1.Image = resp.GetImage(); } catch (Exception ex) { Logger.Error("HandleScreen", ex); } }