1. 유튜브 동영상 강의
*동영상 강의에서는 라이브러리로 제작합니다.*
2. 원격 제어 요청 수신 이벤트
원격 제어 요청을 수신하여 수락 혹은 거절하는 SetupServer에서는 상대측에서 원격 제어 요청이 온 시점을 알아야 합니다. 이를 위해 이벤트 처리를 할 수 있게 대리자와 이벤트 인자 형식을 정의합시다.
이벤트 처리에 사용할 인자는 EventArgs 클래스를 기반으로 파생 클래스로 정의하는 것을 권해요.
public class RecvRCInfoEventArgs : EventArgs
{
누가 요청했는지 접근할 수 있게 IPEndPoint 속성을 제공합시다.
public IPEndPoint IPEndPoint
{
get;
설정자는 내부에서만 접근할 수 있게 private으로 접근 지정하세요.
private set;
}
IP 주소를 문자열 형태로 변환하여 제공하여 사용하는 곳에서 쉽게 사용할 수 있게 합시다.
public string IPAddressStr
{
get
{
return IPEndPoint.Address.ToString();
}
}
포트 번호도 속성으로 제공합시다.
public int Port
{
get
{
return IPEndPoint.Port;
}
}
생성자에서는 EndPoint를 인자로 받아 속성을 설정하세요.
internal RecvRCInfoEventArgs(EndPoint RemoteEndPoint)
{
as 연산은 하향 캐스팅에 사용하는 참조 연산입니다.
IPEndPoint = RemoteEndPoint as IPEndPoint;
}
}
이벤트 처리를 위해 대리자 형식을 정의하세요.
public delegate void RecvRCInfoEventHandler(object sender, RecvRCInfoEventArgs e);
다음은 이번에 작성한 소스 코드입니다.
//RecvRCInfoEventArgs.cs
using System;
using System.Net;
namespace 원격제어기
{
/// <summary>
/// 원격 제어 요청 수신 이벤트 인자 클래스
/// </summary>
public class RecvRCInfoEventArgs : EventArgs
{
/// <summary>
/// IP 단말 정보 - 가져오기
/// </summary>
public IPEndPoint IPEndPoint
{
get;
private set;
}
/// <summary>
/// IP 주소 문자열 - 가져오기
/// </summary>
public string IPAddressStr
{
get
{
return IPEndPoint.Address.ToString();
}
}
/// <summary>
/// 포트 - 가져오기
/// </summary>
public int Port
{
get
{
return IPEndPoint.Port;
}
}
/// <summary>
/// 생성자
/// </summary>
/// <param name="RemoteEndPoint">상대측 단말 정보</param>
internal RecvRCInfoEventArgs(EndPoint RemoteEndPoint)
{
IPEndPoint = RemoteEndPoint as IPEndPoint;
}
}
/// <summary>
/// 원격 제어 요청 수신 이벤트를 정의하기 위한 대리자
/// </summary>
/// <param name="sender">이벤트 통보 개체</param>
/// <param name="e">이벤트 처리 인자</param>
public delegate void RecvRCInfoEventHandler(object sender, RecvRCInfoEventArgs e);
}
'프로젝트 > C# 원격제어 프로그램' 카테고리의 다른 글
[C#] 원격 제어 프로그램 1. 개요 (1) | 2024.01.08 |
---|---|
[C#] 원격 제어 프로그램 2. 원격 제어에서 작성할 형식 소개 (1) | 2024.01.08 |
[C#] 원격 제어 프로그램 3. 프로젝트 생성 및 MainForm 자식 컨트롤 배치 (1) | 2024.01.08 |
[C#] 원격 제어 프로그램 4. 원격 제어 요청 클라이언트 (0) | 2024.01.08 |
[C#] 원격 제어 프로그램 6. 원격 제어 요청 수신 서버 (0) | 2024.01.08 |
[C#] 원격 제어 프로그램 7. 원격 제어 – 화면 전송 (0) | 2024.01.08 |
[C#] 원격 제어 프로그램 8. 원격 제어 – 화면 수신 이벤트 (1) | 2024.01.08 |
[C#] 원격 제어 프로그램 9. 원격 제어 – 화면 수신 서버 (0) | 2024.01.08 |