반응형

C# 55

런타임에 라이브러리 로드하기 - .NET 리플렉션 [C#]

테스트에 사용할 라이브러리 소스 코드(클래스 라이브러리로 제작) using System; namespace DemoLib { public class Demo { int num; public int Num { get { return num; } } public int Add(int a,int b) { Console.WriteLine("Add 메서드 호출 됨:{0},{1}", a, b); return a + b; } public Demo(int n) { Console.WriteLine("Demo 생성자 호출됨:{0}", n); num = n; } public static void Foo(string msg) { Console.WriteLine("Foo 메서드 호출됨:{0}", msg); } } } 명시적으로..

TCP 통신 – Echo 서버 클래스 구현, 이벤트 정의 및 콜백 처리 [C#]

Echo 서버 클래스 구현 동영상 강의 AcceptedEventArgs.cs using System; using System.Net; namespace 에코_서버_응용___클래스로_정의 { public delegate void AcceptedEventHandler(object sender, AcceptedEventArgs e); public class AcceptedEventArgs:EventArgs { public IPEndPoint RemoteEP { get; private set; } public string IPStr { get { return RemoteEP.Address.ToString(); } } public int Port { get { return RemoteEP.Port; } } pub..

TCP 통신 – echo 서버 및 클라이언트 구현 [C#]

서버 측 코드 using System; using System.IO; using System.Net; using System.Net.Sockets; namespace 에코_서버_응용 { class Program { static void Main(string[] args) { Socket sock=null; try { sock = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );//소켓 생성 //인터페이스와 결합 IPAddress addr = IPAddress.Parse("[서버 IP 주소]"); IPEndPoint iep = new IPEndPoint(addr, 10040); sock.Bind(iep); //백로그..

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

원격제어 프로그램 만들기에서 구현한 이미지 송수신 부분을 라이브러리로 만들고 이를 이용하여 클라이언트와 서버 응용을 만드는 실습입니다. 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 주소 /// 상대 포..

반응형