C#으로 exe 파일 간의 통신을 수행하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 다음과 같습니다.
Windows Communication Foundation (WCF)을 사용합니다.
WCF는 .NET Framework에서 제공하는 통신 프레임워크로, 다양한 프로토콜을 사용하여 애플리케이션 간에 통신을 제공합니다.
System.Net.Sockets을 사용합니다. System.Net.Sockets은 .NET Framework에서 제공하는 소켓 프로그래밍 API로, TCP, UDP 등의 프로토콜을 사용하여 애플리케이션 간에 통신을 제공합니다.
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를 사용하여 애플리케이션 간에 통신을 설정하고 데이터를 전송합니다.
'C#' 카테고리의 다른 글
복수 파일을 선택해서 압축파일을 만들기 (0) | 2024.03.23 |
---|---|
C#에서 동기 처리와 비동기 처리로 숫자 배열의 합 계산하기 (0) | 2024.03.16 |
C#으로 실행중인 EDGE를 제어해보자 (0) | 2023.11.20 |
C#으로 REST API Patch하는 방법 (0) | 2023.05.21 |
C#을 이용해서 웹 크롤링하는 방법 (2) | 2023.05.20 |