2016-06-05 2 views
0

다른 응용 프로그램과 입력 및 출력을 통해 통신하는 C# 콘솔 응용 프로그램이 있습니다. 이것은 문제의 주어진 부분을 변경할 수있는 것이 아닙니다.로컬 응용 프로그램 간 통신/실행중인 응용 프로그램에 알리기

다른 부분은이 콘솔 응용 프로그램과 통신하는 방법이 필요하다는 것입니다. Google은 WCF, REST 및 그와 같은 항목을 말합니다.하지만이 말은 콘솔 애플리케이션과 로컬로 통신해야하기 때문에 조금 과장되어 있습니다.

나는 또한 그 응용 프로그램을 통해 파일을 통하지 않아도 될 것입니다. 그러나 나는 변화를위한 간격으로 파일을 확인해야합니다. 또한 이것이 성능 현명한 최선의 해결책인지 잘 모르겠습니다. 또한 지연, befor 알림 간격에 따라 발생합니다.

그렇다면 로컬 응용 프로그램간에 의사 소통하는 데 깔끔한 방법은 무엇입니까?

정말 고맙겠습니다.

답변

3

이 용도로 사용하려면 응용 프로그램에서 소켓 통신을 구현해야합니다. 링크는 당신에게 소켓은 C#에서 어떻게 작동하는지에 대한 아이디어를 줄 아래

http://csharp.net-informations.com/communications/csharp-socket-programming.htm

+0

나는 그런 "낮은 수준"솔루션의 문질러서하지 않았다 그러나 이것은 다시 네트워크 protokolls의 헤더 옆에 네트워크 protokolls을 포함 할 것입니다 오, 좋은 내 NIC을 통과하지 않을까요? 내가 몇 초 전에 발견 한 것은 (질문을 한 후해야만한다) https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx이다. 나는 이것이 더 많은 leightweight가 될 것이지만 또한 병목 현상이 될 수는 있지만 다른 한편으로는 소켓은 전체 네트워크 작업에이 오버 헤드가 있습니다. 이 점에 대해 어떻게 생각하세요? – natschz

+0

두 응용 프로그램 간의 통신을 위해 파일을 사용하는 것은 신뢰할만한 해결책이 아닙니다. 실수로 파일이 손상되거나 삭제 된 경우 일어나는 일을 시나리오로 생각해보십시오. 소켓을 사용하면 직면 한 문제에 대해 항상 권장되고 신뢰할 수 있습니다. –

+0

그나 저도 곤란했습니다. 그리고 그 파일이 다른 프로그램이나 자신이 차지하고있을 수도 있다는 사실과 그 둘 모두가 액세스하려고 시도하는 동안 사실입니다. 나는 이것이 내가 네트워크 프로토 콜을 로컬에서 사용하는 것을 두려워해야한다는 것을 의미한다. 어쨌든 나는 정말 빠르고 좋은 대답 감사 appreaciate! :) – natschz

관련 문제