private void SendNextDesktopRecordFrame(TcpSocketSaeaSession session) { ThreadPool.QueueUserWorkItem((o) => { if (_screen_record_width == 0 || _screen_record_height == 0) { return; } Thread.Sleep(_screen_record_spantime); SendTo(session, MessageHead.C_MAIN_DESKTOPRECORD_FRAME, ImageExtensionHelper.CaptureNoCursorToBytes(new Size(_screen_record_width, _screen_record_height))); }); }
private void SendNextFrameDesktopView(TcpSocketSaeaSession session) { ThreadPool.QueueUserWorkItem(c => { var getframe = GetMessageEntity <DesktopViewGetFramePack>(session); if (getframe.Width == 0 || getframe.Height == 0 || getframe.TimeSpan == 0 || getframe.TimeSpan < 50) { return; } Thread.Sleep(getframe.TimeSpan); SendTo(session, MessageHead.C_MAIN_DESKTOPVIEW_FRAME, new DesktopViewFramePack() { InVisbleArea = getframe.InVisbleArea, ViewData = getframe.InVisbleArea ? ImageExtensionHelper.CaptureNoCursorToBytes(new Size(getframe.Width, getframe.Height)) : new byte[0] }); }); }
private void SendNextFrameDesktopView(TcpSocketSaeaSession session) { ThreadHelper.ThreadPoolStart(c => { var args = c.ConvertTo <object[]>(); var accessId = args[0].ConvertTo <long>(); var getframe = args[1].ConvertTo <DesktopViewGetFramePack>(); if (getframe.Width == 0 || getframe.Height == 0 || getframe.TimeSpan == 0 || getframe.TimeSpan < 50) { return; } Thread.SetData(Thread.GetNamedDataSlot("AccessId"), accessId); Thread.Sleep(getframe.TimeSpan); SendTo(session, MessageHead.C_MAIN_DESKTOPVIEW_FRAME, new DesktopViewFramePack() { InVisbleArea = getframe.InVisbleArea, ViewData = getframe.InVisbleArea ? ImageExtensionHelper.CaptureNoCursorToBytes(new Size(getframe.Width, getframe.Height)) : new byte[0] }); }, new object[] { GetAccessId(session), GetMessageEntity <DesktopViewGetFramePack>(session) }); }