반응형

프로젝트 20

화면 캡쳐 및 이미지 송신 클라이언트 및 수신 서버 구현하기

원격제어 프로그램 만들기에서 구현한 이미지 송수신 부분을 라이브러리로 만들고 이를 이용하여 클라이언트와 서버 응용을 만드는 실습입니다. ImageClient.cs //http://ehpub.co.kr //원격 제어 프로그램 //7. 이미지 전송 클라이언트 using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Net; using System.Net.Sockets; namespace 원격제어_프로그램 { /// /// 이미지 전송 클라이언트 /// public class ImageClient { Socket sock; /// /// 연결 메서드 /// /// 연결할 서버 측 IP주소 /// ..

원격 제어 프로그램 만들기 9. 화면 수신 서버

원격 제어 컨트롤러에서는 호스트 화면을 주기적으로 수신하여 이를 폼에 뿌려주어야 합니다. 이를 위해 화면을 수신하는 서버 클래스의 소스 코드입니다. 소스 코드 ImageServer.cs //ImageServer.cs using System.Net.Sockets; using System.Threading; using System.Net; using System.Drawing; using System.IO; using System; namespace 원격제어기 { /// /// 이미지 수신 서버 /// public class ImageServer { Socket lis_sock; //Listening 소켓 Thread accept_thread = null; /// /// 이미지 수신 이벤트 /// publi..

원격 제어 프로그램 만들기 8. 화면 수신 이벤트 인자 클래스 구현

이미지 수신 서버에서 이미지를 수신할 때마다 폼에 이를 알려주어야 합니다. 이를 위해 이벤트 처리하기 위한 대리자와 이벤트 인자 클래스를 정의합니다. 소스 코드 RecvImageEventArgs.cs //RecvImageEventArgs.cs using System; using System.Net; using System.Drawing; namespace 원격제어기 { /// /// 이미지 수신 이벤트 인자 클래스 /// public class RecvImageEventArgs : EventArgs { /// /// IP 단말 - 가져오기 /// public IPEndPoint IPEndPoint { get; private set; } /// /// IP 주소 - 가져오기 /// public IPAddr..

원격 제어 프로그램 만들기 7. 원격 제어 – 화면 전송

원격 제어를 허용한 호스트의 전체 화면을 제어하는 컨트롤러에게 주기적인 화면을 전송해 주어야 합니다. 다음은 화면을 주기적으로 전송하는 클라이언트 소스 코드입니다. 소스 코드 ImageClient.cs //ImageClient.cs using System; using System.Net.Sockets; using System.Net; using System.IO; using System.Drawing.Imaging; using System.Windows.Forms; using System.Drawing; namespace 원격제어기 { /// /// 이미지 전송 클라이언트 /// public class ImageClient { Socket sock; /// /// 생성자 /// /// 컨트롤러의 IP 주..

원격 제어 프로그램 만들기 - 6. 원격 제어 요청 수신 서버 구현 및 요청 수신 1차 테스트

원격 제어 요청을 수신하는 서버 클래스를 구현합니다. 현재까지 작성한 원격 제어 요청 클라이언트와 서버 및 이벤트 인자 형식을 이용하여 테스트를 수행합니다. 테스트는 원격 제어 요청을 정상적으로 전달하고 상대측에서 요청 클라이언트의 IP와 PORT 정보를 정상적으로 수신하고 폼에 전달하는지 확인합니다. 소스 코드 SetupServer.cs //SetupServer.cs using System.Net.Sockets; using System.Threading; using System.Net; namespace 원격제어기 { /// /// 연결 요청 수신 서버 클래스 - 정적 클래스 /// public static class SetupServer { static Socket lis_sock; //연결 요청 수..

원격 제어 프로그램 만들기 - 5. 원격 제어 요청 수신 이벤트 인자 클래스 구현

원격제어 요청이 왔을 때 이를 수신한 정보를 이벤트 핸들러에서 처리할 수 있게 해 주는 인자와 대리자 형식을 구현합니다. 소스 코드 RecvRCInfoEventArgs.cs //RecvRCInfoEventArgs.cs using System; using System.Net; namespace 원격제어기 { /// /// 원격 제어 요청 수신 이벤트 인자 클래스 /// public class RecvRCInfoEventArgs : EventArgs { /// /// IP 단말 정보 - 가져오기 /// public IPEndPoint IPEndPoint { get; private set; } /// /// IP 주소 문자열 - 가져오기 /// public string IPAddressStr { get { r..

원격 제어 프로그램 만들기 - 4. 원격 제어 요청 클라이언트 구현

원격 제어를 하겠다고 요청하는 클라이언트 클래스를 구현합니다. 소스 코드 SetupClient.cs using System; using System.Net; using System.Net.Sockets; namespace 원격제어기 { /// /// 원격 제어 요청 클라이언트 - 정적 클래스 /// public static class SetupClient { public static event EventHandler ConnectedEventHandler = null; public static event EventHandler ConnectFailedEventHandler = null; static Socket sock; /// /// 원격 제어 요청 메서드 /// /// 상대 IP 주소 /// 상대 포..

원격제어 프로그램에서 작성할 형식 소개

원격 제어 프로그램 2. 원격 제어기에서 작성할 형식 소개 – 언제나 휴일 원격 제어기 프로그램을 만들기 전에 앞으로 작성할 형식들을 간략하게 소개할게요. [그림 3] 원격 제어 프로그램에 정의할 형식들 [표 1] 원격 제어 프로그램 형식과 역할MainForm은 프로그램이 시작하면서 뜨는 폼으로 원격 제어를 요청하거나 허용하는 역할을 담당합니다. RemoteClientForm은 원격 제어할 수 있게 원격 컨트롤러에게 원격 호스트의 화면을 보여주기 위한 폼입니다. VirtualCursorForm은 원격 제어 호스트에 프로그램 방식 ehpub.co.kr

1. 개요

자세한 기술 사용법을 설명하기보다 프로그래밍을 하는 과정을 소개하여 숙련을 목적으로 하고 있습니다. 다음을 익힐 수 있어요. .NET 소켓을 이용하여 통신 프로그램을 만드는 방법 Native DLL(Windows API)를 임포트(import)하여 사용하는 방법 프로그램 방식으로 키보드 이벤트 발생하는 방법 프로그램 방식으로 마우스 이벤트 발생하는 방법 화면 이미지 캡쳐 방법

반응형