본문 바로가기

C#

C#으로 exe 파일간의 통신을 하는 방법

반응형

C#으로 exe 파일 간의 통신을 수행하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다.

Windows Communication Foundation (WCF)을 사용합니다.
WCF는 .NET Framework에서 제공하는 통신 프레임워크로, 다양한 프로토콜을 사용하여 애플리케이션 간에 통신을 제공합니다.

 

Windows Communication Foundation 정의 - WCF

서비스 지향 애플리케이션을 작성하기 위한 프레임워크인 Windows Communication Foundation에 대해 자세히 알아봅니다.

learn.microsoft.com

 

System.Net.Sockets을 사용합니다. System.Net.Sockets은 .NET Framework에서 제공하는 소켓 프로그래밍 API로, TCP, UDP 등의 프로토콜을 사용하여 애플리케이션 간에 통신을 제공합니다.

 

Socket 클래스 (System.Net.Sockets)

Berkeley 소켓 인터페이스를 구현합니다.

learn.microsoft.com

 

Named Pipes를 사용합니다. Named Pipes는 Windows에서 제공하는 파이프 프로그래밍 API로, 애플리케이션 간에 데이터를 전송하는 데 사용됩니다.

 

다음은 WCF를 사용하여 exe 파일 간의 통신을 수행하는 방법에 대한 예입니다.

< 서버 코드 >

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Web.Http;

namespace Server
{
    public class ValuesController : ApiController
    {
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "Hello, World!" };
        }
    }
}

이 코드에서는 ValuesController라는 API 컨트롤러를 정의합니다. 이 컨트롤러는 GET 요청을 처리하고 "Hello, World!"라는 문자열을 반환합니다.

<클라이언트 코드>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;

namespace Client
{
    public class Program
    {
        static void Main(string[] args)
        {
            // HTTP 클라이언트를 생성합니다.
            HttpClient client = new HttpClient();

            // 서버에 GET 요청을 보냅니다.
            HttpResponseMessage response = client.GetAsync("http://localhost:5000/values").Result;

            // 응답을 처리합니다.
            if (response.IsSuccessStatusCode)
            {
                string values = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(values);
            }
            else
            {
                Console.WriteLine("Error");
            }
        }
    }
}

이 코드에서는 HttpClient 클래스를 사용하여 서버에 GET 요청을 보냅니다. 응답이 성공적이면 응답의 콘텐츠를 읽고 콘솔에 출력합니다.

이 예에서 서버는 http://localhost:5000에서 실행됩니다. 클라이언트는 서버에 연결하고 "Hello, World!"라는 문자열을 수신합니다.

다른 프로토콜을 사용하여 exe 파일 간의 통신을 수행하는 방법은 유사합니다. 필요한 API를 사용하여 애플리케이션 간에 통신을 설정하고 데이터를 전송합니다.

반응형