프로젝트/원격 제어 프로그램 만들기

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

언제나휴일 2020. 5. 12. 21:14
반응형

 

이미지 수신 서버에서 이미지를 수신할 때마다 폼에 이를 알려주어야 합니다. 

이를 위해 이벤트 처리하기 위한 대리자와 이벤트 인자 클래스를 정의합니다.

소스 코드

RecvImageEventArgs.cs

//RecvImageEventArgs.cs
using System;
using System.Net;
using System.Drawing;

namespace 원격제어기
{
    /// <summary>
    /// 이미지 수신 이벤트 인자 클래스
    /// </summary>
    public class RecvImageEventArgs : EventArgs
    {
        /// <summary>
        /// IP 단말 - 가져오기
        /// </summary>
        public IPEndPoint IPEndPoint
        {
            get;
            private set;
        }

        /// <summary>
        /// IP 주소 - 가져오기
        /// </summary>
        public IPAddress IPAddress
        {
            get
            {
                return IPEndPoint.Address;
            }
        }

        /// <summary>
        /// IP 주소 문자열 - 가져오기
        /// </summary>
        public string IPAddressStr
        {
            get
            {
                return IPAddress.ToString();
            }
        }
        /// <summary>
        /// 포트 - 가져오기
        /// </summary>
        public int Port
        {
            get
            {
                return IPEndPoint.Port;
            }
        }

        /// <summary>
        /// 이미지 - 가져오기
        /// </summary>
        public Image Image
        {
            get;
            private set;
        }

        /// <summary>
        /// 이미지 크기 - 가져오기
        /// </summary>
        public Size Size
        {
            get
            {
                return Image.Size;
            }
        }

        /// <summary>
        /// 이미지 폭 - 가져오기
        /// </summary>
        public int Width
        {
            get
            {
                return Image.Width;
            }
        }

        /// <summary>
        /// 이미지 높이 - 가져오기
        /// </summary>
        public int Height
        {
            get
            {
                return Image.Height;
            }
        }
        
        internal RecvImageEventArgs(IPEndPoint remote_iep, Image image)
        {
            IPEndPoint = remote_iep;
            Image = image;
        }

        /// <summary>
        /// ToString 메서드
        /// </summary>
        /// <returns>IP주소 및 이미지 크기를 문자열로 반환</returns>
        public override string ToString()
        {
            return string.Format("IP:{0} width:{1} height:{1}", 
                                  IPAddressStr, Width, Height);
        }
    }

    /// <summary>
    /// 이미지 수신 처리를 위한 대리자
    /// </summary>
    /// <param name="sender">이벤트 통보 개체(게시자)</param>
    /// <param name="e">이벤트 처리 인자</param>
    public delegate void RecvImageEventHandler(object sender, RecvImageEventArgs e);
}

 

 

원격 제어 프로그램 8. 원격 제어 – 화면 수신 이벤트 – 언제나 휴일

이미지 수신 서버에서는 이미지를 수신할 때마다 폼에 이를 알려주어야 합니다. 이 부분을 위해 이벤트 처리를 할 것입니다. 먼저 이미지를 수신하였을 때 이벤트를 처리하기 위해 대리자와 이벤트 인자 클래스를 정의합시다. RecvImageEventArgs 이름의 클래스를 추가하세요. public class RecvImageEventArgs : EventArgs { public class RecvImageEventArgs : EventArgs{ 상대 IPEndP

ehpub.co.kr

 

반응형