private static Byte[] SignalObjToByte(SignalObj signalObj) { string jsonData = JsonConvert.SerializeObject(signalObj); Byte[] buffer = Encoding.Default.GetBytes(jsonData); return(buffer); }
private void Server_Load(object sender, EventArgs e) { isFinish = false; // Viewer 객체 생성 clientsViewer = new Viewer(); clientsViewer.FormClosed += new FormClosedEventHandler(Viewer_FormClosed); // 작업 표시줄에서 제거 this.ShowInTaskbar = false; // 표준 신호 객체 생성 standardSignalObj = new SignalObj(); // NotifyIcon에 메뉴 추가 NotifyIconSetting(); // JPEG 손실 압축 수준 설정 codec = GetEncoder(ImageFormat.Jpeg); param = new EncoderParameters(); param.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 30L); // 선택 가능한 스크린 설정 sc = Screen.AllScreens; foreach (var mon in sc) { cbMonitor.Items.Add(Regex.Replace(mon.DeviceName, @"[^0-9a-zA-Z가-힣]", "").Trim()); } cbMonitor.SelectedIndex = 0; selectedScreen = cbMonitor.SelectedIndex; // 스크린 캡처에 필요한 변수 초기화 bmp = null; g = null; // 클라이언트 연결 대기 SocketOn(); // 스크린 캡처를 통한 이미지 생성 태스크 실행 Task.Run(() => ImageCreate()); }